粒子氩入门

478

1

介绍:开始粒子氩

介绍

粒子氩,硼和氙是粒子物联网开发板与网状网络。所有的主板都是围绕Nordic nRF52840 SoC构建的,包括一个ARM Cortex-M4F,具有1MB的Flash和256k的RAM。该芯片支持蓝牙5和NFC。氩气添加了WiFi和ESP32,在这个项目中,如何设置氩气以及使用网页和氩气控制LED的详细讨论。

组件需要

  1. 粒子氩==> $28
  2. 试验板==>6美元
  3. 领导的= = > 2美元

步骤1:粒子氩

Argon是一款功能强大的支持Wi-Fi的开发工具包,可作为粒子网格网络的独立Wi-Fi端点或支持WiFi的网关。它基于Nordic nRF52840,具有内置电池充电电路,因此连接Li-Po和部署本地网络只需几分钟。

功能

1.Espressif ESP32-D0WD 2.4Ghz wifi协处理器

  • 板载4MB闪存,ESP32
  • 802.11 b/g/n支持
  • 802.11 n (2.4 GHz),高达150mbps

2.北欧半导体nRF52840 SoC

  • ARM Cortex-M4F 32位处理器@ 64MHz
  • 1MB闪存,256KB内存
  • IEEE 802.15.4-2006: 250 Kbps
  • 蓝牙5:2 Mbps, 1 Mbps, 500 Kbps, 125 Kbps
  • 支持DSP指令、硬件加速浮点单元(FPU)计算
  • ARM TrustZone CryptoCell-310加密与安全模块
  • TX功率可达+8 dBm (4 dB级降至-20 dBm)
  • NFC-A标签

3.车载附加4MB SPI闪存

4.20混合信号GPIO (6 x模拟,8 x PWM), UART, I2C, SPI

5.Micro USB 2.0全速(12mbps)

6.集成锂电池充电和电池连接器

7.JTAG门限)连接器

8.RGB状态指示灯

9重置和模式按钮

10板载PCB天线

11u、 外部天线的FL连接器

符合Adafruit Feather规格的尺寸和销出

13.FCC, CE和IC认证15。通过无铅认证(无铅)

销图


销的描述< br >

  1. Li+==>该引脚内部连接至LiPo电池接头的正极端子。
  2. VUSB ==>此引脚内部连接到USB (+ve)电源。
  3. 3V3 ==>该引脚是板载3.3V稳压器的输出。
  4. 接地==>系统接地引脚。
  5. EN ==>设备使能引脚内部上拉。要禁用设备,请将该引脚连接到GND。
  6. RST ==> Active-low系统复位输入。这个别针内部是向上拉的。
  7. MD ==>此引脚内部连接到模式按钮。MODE功能为active-low。
  8. RX==>主要用作UART RX,但也可以用作数字GPIO。
  9. TX==>主要用作UART TX,但也可以用作数字GPIO。
  10. SDA==>主要用作I2C的数据引脚,但也可以用作数字GPIO。
  11. SCL==>主要用作I2C的时钟引脚,但也可以用作数字GPIO。
  12. MO, MI, SCK ==>这些是SPI接口引脚,但也可以用作数字GPIO。
  13. D2-D8 ==>这些是通用的GPIO管脚。D2-D8 PWM-able。
  14. 这些是模拟输入引脚,也可以作为标准数字GPIO。A0-A5 PWM-able。

如何设置氩气

有许多方法来设置粒子设备。设置Argon最简单的方法是使用手机(安卓或iOS)和互联网连接。这里,我用的是安卓手机。

1.将氩气插头插入电脑USB,确保蓝色led闪烁(收听模式)。当Argon处于侦听模式时,它将等待您配置网状网络。如果不是蓝色闪烁,要将氩气置于收听模式,请按住模式按钮三秒钟,直到RGB LED开始蓝色闪烁。

2.打开粒子应用程序在您的手机。如果你没有从游戏商店下载。

3.登录到你的粒子帐户。登录后,在“您的设备”窗口,您将看到“+”按钮添加新设备。按“+”按钮,你会看到4个选项选择设置一个网格设备。

4.然后它会要求打开蓝牙,然后选择我们要设置的设备(我们正在设置氩气)。选择氩。

5.接下来,它会问你是否已经将天线连接到氩气或不。如果你已经连接了,打勾,然后按下下一步。

6.然后,它会要求您扫描设备上的条形码(氩气)。之后,它将开始与您的设备配对,配对后将弹出如下窗口。

7.之后,它将开始更新固件。一个更新它会问你是否你想使用它在网状网络或不(我选择是)。

8.然后,它会要求你连接WiFi。我在连接WiFi网络时遇到了一些安全问题(将在即将到来的固件中修复)。所以我创建了一个没有安全保障的网络。

9.一旦连接,它会要求你提供一个设备名称。

10.接下来,它将要求您提供网络名称并设置密码。一旦你设置了密码,它将创建一个网络。

设置网关后,您将看到如下所示的窗口

你可以设置更多的设备或选择我完成了。氩气已经准备好了。您可以看到您的设备名称。

11.设置完成后,转到粒子IDE。

登录到您的帐户。现在,我们将对粒子氩进行编程。首先点击star选择您的设备(氩)。您可以看到我已经选择了Argon,如下所示

我们用的是led的测试例子。转到代码部分,你会看到示例应用。

选择闪烁一个LED,使用这个应用程序,点击使用这个例子。

要上传代码,请选择一块板,然后单击flash。

连接< br >

粒子氩==> LED

  • 接地= = >领导(负)
  • D2==>Led(+ve)

一旦闪烁,你将看到D2和D7 LED将开始闪烁。

第二步:使用网页控制LED

一旦使用基本程序设置和检查了电路板,下一步就是使用网页控制LED。为此,创建了两个程序,一个是在particle IDE中,另一个是在HTML中,用于从网页控制LED。

为了控制云中的LED,我们必须使用particle.function()< br >粒子框架会自动为我们创建一个基于REST的API,或者通过internet以结构化方式调用它。为了访问该函数,我们发出如下HTTP POST请求

/ v1 /设备/ {DEVICE_ID} /{函数}

篇文章。函数允许在请求时运行设备上的代码< br >云API。最多可注册15个云功能,每个功能名称不超过12个字符。在函数名中只能使用字母、数字、下划线和破折号。

语法

bool success =粒子。函数(“functionKey functionName);

云函数必须返回int并使用一个字符串

int funcName(字符串额外)
{return 0;}

为了注册一个云函数,用户提供了functionKey(用于POST请求的字符串名称)和functionName(在应用程序中调用的实际函数名称)。云函数必须返回一个整数;-1通常用于失败的函数调用。

步骤3给出了控制LED的代码。

现在,该检查我们的新函数了。最好的方法是从控制台。它看起来如下所示

转到console中的“设备”选项卡,单击刚刚将代码闪存到的设备(Argon)所在的行。

您将看到如下所示的选项卡

在屏幕的右边是一个函数框。应该有一个标记为“cloud_led”的。

  • 如果你输入“on”(没有引号),然后点击呼叫按钮,LED就会打开。

  • 如果键入“off”并单击呼叫按钮,LED将熄灭。

如果您的LED使用控制台打开和关闭,我们已完成检查。

在转到HTML部分之前,我们需要了解一些东西。

1.设备ID ==>在设备节中找到

2.访问令牌==>可以在设置部分找到。

网页

由于我们现在有了设备id和访问令牌,我们可以继续处理html文件。打开记事本,在其中编写代码并将其另存为.html文件。将设备ID替换为实际设备ID,将访问令牌替换为实际访问令牌。

<代码> < span class = " hljs-meta”> < !DOCTYPE> <html> < /span>< /span><meta name="viewport" content="width= devicewidth, <br> <center>  <br>  <br>  <br>  <form action="https://api.particle.io/v1/devices/device_id/cloud_led?access_token=token" method="POST">  Control LED from the cloud<br>  <br>  <input type="radio" name="arg" value="on">Turn the LED on.  <br>  <input type="radio" name="arg" value="off">Turn the LED off.  <br>  <br>  <input type="submit" value="Submit">  form>  center>  body> html> 

使用浏览器打开html文件。您将看到如下所示的页面

我做了一个简单的登录页面,登录成功后会跳转到主控制页面。

html>head>title>登录页面=“xml”>meta name=“viewport”content=“width=device width,initial scale=1.0”>链接rel=“stylesheet”href=”https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css“>链接href=”https://fonts.googleapis.com/icon?family=Material+图标“rel=”stylesheet“>标题>body bgcolor=#40E0D0>i class=“fa-fa-mobile”style=“font-size:48px;颜色:红色“>i>i class=“fa-fa-wifi”style=“font-size:48px;颜色:红色“>i>i class=“材料图标”style=“font size:48px;颜色:红色“>i>i class=“fa-fa-cloud”style=“font-size:48px;颜色:红色“>i>br>form name=“loginForm”method=“post”action=“Particle.html”>table width=“20%”bgcolor=“0099CC”align=“center”>tr>td colspan=2>中心>font size=4>b>登录页面b>中心>td>>td>td>input type=“text”size=25 name=“userid”>=“hljs标签”>tr>td>密码:td>td>“>td>>输入type=“Reset”>td>td>输入type=“submit”onclick=“return check(this.form)”value=“Login”>>tr>table>表格>函数检查(表单){if(form.userid.value == "default" && form.pwd.value == "default") {  return true; } else {  alert("Error, Enter valid Username or Password")  return false; } } script> body> html>

步骤3:编码

LED控制代码

int led1 = D2;< br >无效的设置()< br >{< br >/ /引脚配置< br >pinMode (led1、输出);< br >< br >< br >//声明一个Particle.function,以便我们可以从云中打开和关闭LED。< br >粒子。函数(“云_led”,led切换);< br >//当我们向云请求函数“cloud_led”时,它将使用这个应用程序中的函数ledToggle()。< br >//确保启动时两个指示灯都熄灭< br >digitalWrite (led1、低);< br >< br >}< br >//因为这次我们在等待云的输入,< br >//我们实际上不需要在循环中放入任何东西< br >无效循环()< br >{< br >//这里无事可做< br >}< br >//现在我们将有一个超级酷的函数,当发送匹配的API请求时调用它< br >//这是我们注册到“cloud_led”粒子的ledToggle函数。函数。< br >在里面t ledToggle(String command) {< br >< br >/ *粒子。函数总是接受一个字符串作为参数并返回一个整数。因为我们可以传递一个字符串,这意味着我们可以向程序提供关于函数应该如何使用的命令。在这种情况下,指示“on”功能将开启LED,指示“off”功能将关闭LED。然后,函数返回一个值,让我们知道发生了什么。在本例中,当led打开时,它将返回1,当led关闭时返回0,如果我们收到一个完全虚假的命令,对led没有做任何事情,则返回-1。< br >*/< br >< br >如果(命令= =””){< br >digitalWrite (led1、高);< br >< br >返回1;< br >}< br >Else if (command=="off") {< br >digitalWrite (led1、低);< br >< br >返回0;< br >}< br >其他{< br >返回1;< br >}< br >}< br >

LED控制页代码(HTML)

< br >< html >< br >< >头< br >< br >< br >< br >
< br >< br >< br >< br >< br >< br >< br >action = " https://api.particle.io/v1/devices/e00fce68857de2ce3bcda922/cloud_led? <形式access_token = 6 c1e60f7bc502028dee2df04e148b351d7f74f2f”方法= " POST " >< br >从云控制LED
< br >< br >< br >打开LED。< br >< br >< br >关闭LED< br >< br >< br >< br >< br >< br >> < /形式< br >< /中心>< br >< br >< br >

登录页面代码(HTML)

< html >< br >< >头< br ><标题>登录页面< /名称>< br >< br ><链接的href = " https://fonts.googleapis.com/icon?family=Material +图标”rel = "样式表" >< br >< br >< br >< br >< br >< br >< br >< br >< br >< br >< tr >< br >< br >< / tr >< br >< br >< tr >< br >道明> < td >用户名:< /< br >< br >< / tr >< br >< br >< tr >< br >< br >< br >< / tr >< br >< br >< br >< tr >< br >< td > < input type = "重置" > < / td >< br >< br >< / tr >< br >< br >< /表>< br >> < /形式< br >< br >< br >< br >< br >
自动化竞赛

参加了< br >自动化竞赛

第一个分享

    建议

    • 玩具及游戏比赛

      玩具及游戏比赛
    • 大挑战vs小挑战

      大挑战vs小挑战
    • 修复它挑战

      修复它挑战

    评论

    登录页面
    密码: