亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

使用 Python 的物联网温度计

组件和用品

MikroE 翻转和点击
× 1
Arduino Due
× 1
粒子光子
× 1
NodeMCU ESP8266 分线板
× 1
SparkFun Photon RedBoard
× 1
MikroE Temp&Hum Click
× 1
MikroE WiFi Plus 点击
× 1
乐鑫 Wemos D1 Mini
× 1
Arduino Zero
× 1

应用和在线服务

Zerynth Studio

关于这个项目

Zerynth 应用程序

Zerynth App 是一款适用于 Android 的移动应用程序 和 iOS 允许快速原型制作 图形界面 用于您的物联网项目 .

使用 Zerynth App,您可以将任何手机变成控制器并显示智能对象物联网系统 !特别是,您可以管理和控制使用 Zerynth 编程的连接设备,从而在它们与您的手机之间建立双向通信通道。

在本教程中,我们将了解如何开发一个简单但功能强大的 IoT 温度计 ,使用 Zerynth 驱动的单板微控制器和 Zerynth 应用作为远程显示器。

所需材料

首先,你需要一个板子。您可以选择 Zerynth 支持的 32 位微控制器设备之一。我们选择了 Mikroelektronika 的 Flip&Click,它与流行的 Arduino 平台具有许多相同的属性,包括 Microchip 的 32 位 AT91SAM3X8E, Arduino Due 的核心。

为了测量温度,我们选择了带有 HTS221 温度和相对湿度传感器的 Temp&Hum Click。

为了将电路板连接到互联网,我们选择了 WiFi PLUS Click,它具有 MRF24WB0MA – 2.4GHz,IEEE 标准。 802.11 – 来自 Microchip 的兼容模块 ,以及带有板载 TCP/IP 堆栈和 802.11 连接管理器的 MCW1001 配套控制器。

最后但并非最不重要的是,您需要:

  • Zerynth 工作室 ,我们强大的 IDE,用于在 Python 中进行嵌入式编程,支持物联网。你可以在这里下载。
  • Zerynth 应用 .你可以在这里下载。

组装您的物联网温度计

Flip&Click 是 Arduino 的双面表亲。一方面,它是一个 Arduino。但另一方面,您会发现四个打开的 mikroBUS 插座,用于公司所谓的“点击板”。本质上,这些是类似于 Arduino 扩展板的附加模块,但缩小了尺寸,以便您可以在 Flip &Click 上同时安装几个模块,而不会出现任何问题。 只需将 Temp&Hum 和 Wifi Plus 的点击分别添加到板上的插槽 A 和 B。

如何使用 Python 编写物联网温度计

克隆示例

安装 Zerynth Studio 并创建 Zerynth 用户后,您可以克隆示例“Zerynth App Oscilloscope ”。看这里学习如何克隆一个例子。

我们来看看“main.py”中的原始代码 ” 文件:这里是您开发 Python 逻辑的地方 脚本。我们将从原始代码开始,然后我们将编辑脚本以开发我们的特定项目。

######################################### ###################################物联网温度计########### ############################################### ################## from wireless import wifi# 这个例子是基于 Particle Photon# 更改以下行以使用不同的 wifi 驱动程序 from Broadcom.bcm43362 import bcm43362 as wifi_driverimport streamsimport adc # 导入 Zerynth APP 库 from zerynthapp import zerynthapp streams.serial() sleep(1000)print("STARTING...") try:# 设备 UID 和 TOKEN 可以在 ADM 面板中创建 zapp =zerynthapp.ZerynthApp("DEVICE UID", "DEVICE TOKEN", log=True) # 连接到 wifi 网络(在下面设置您的 SSID 和密码) wifi_driver.auto_init() for i in range(0,5):try:wifi.link("SSID" ,wifi.WIFI_WPA2, “密码”),除了异常为e突破:打印( “无法链接”,五)其他:打印( “无法链接!”),而真:睡眠(1000) # 启动 Zerynth 应用实例! # 请记住使用您刚刚克隆的“模板”文件夹下的文件创建模板 # 将其上传到 ADM 并将其与连接的设备关联 zapp.run() # 读取 ADC 并将值发送到 ADM 1000),X =(adc.read(A4)* 100)// 4096 zapp.event({ “数据”:X})如果x> 95:#发送移动通知#(有每分钟每一个通知的限制ADM 沙箱上的设备) zapp.notify("ALARM!","值大于 95!") 出了例外 e:print(e) 

在这个简单的示例中,Zerynth 应用程序将图形示波器可视化,数据来自连接的电路板。数据通过“模拟”引脚 A4 从模拟传感器获取。

导入正确的 wifi 驱动程序和传感器库

正如您在评论中所见,此示例基于 Particle Photon 板及其 wifi 驱动程序。由于我们要使用WiFi Plus Click,我们必须更改以下几行:

从 Broadcom.bcm43362 导入 bcm43362 作为 wifi_driver 

从 microchip.mcw1001a 导入 mcw1001a 作为 wifi_driver 

 wifi_driver.auto_init() 

 wifi_driver.init(SERIAL2,D24) # slot B 

然后,我们要使用 Temp&Hum Click 的温度传感器。因此,我们必须添加以下几行来导入库并设置传感器,您可以在文档中阅读:

# 从 stm.hts221 import hts221 temp_hum =hts221.HTS221(I2C0, D21) # slot A 导入 HTS221 库 

要读取传感器,只需在必要的地方写入以下行:

 tmp, hum =temp_hum.get_temp_warmity() # 读取 tmp 和 hum 

设置 SSID 名称和密码

当然,你还要编辑你要连接板子的wifi网络的SSID名称和PASSWORD,编辑这一行:

 wifi.link("SSID",wifi.WIFI_WPA2,"PASSWORD") 

创建并设置连接的设备

现在我们必须创建一个“连接的设备”并将“zerynthapp”实例链接到它。您可以在下面看到一些包含必要步骤的屏幕截图。查看此文档了解更多技术细节。

设备凭据(UID令牌 ) 可以直接从 Zerynth Studio(ADM 面板)复制和粘贴。 “IP”是 Zerynth ADM 的 IP 地址。当网络驱动程序不支持主机名解析时使用此参数,如本例所示。

创建、上传和设置模板

通过 Zerynth 应用程序,您可以使用 HTML 运行漂亮的响应式图形用户界面 , CSSJavaScript .无需 Android 或 iOS 代码!

每个设备的图形界面都托管在 Zerynth ADM 沙箱上,由一组 HTML5、Javascript、CSS 和图像文件组成,这些文件在应用程序中加载和显示。添加到模板的 ADM Javascript 库允许应用程序与连接的设备进行交互,包括接收和发送消息。

单击相应的“加号”图标可以添加模板。

然后从专用文件夹上传模板。请注意,定义模板的文件名为“index.html ”,您可以根据需要对其进行编辑。在这种情况下,您可以保持原样。

经过几次编辑后,代码应如下所示:

######################################### ###################################物联网温度计########### ############################################### ################## from wireless import wififrom microchip.mcw1001a import mcw1001a as wifi_driverimport streamsimport adc streams.serial() # 导入Zerynth APP libraryfrom zerynthapp import zerynthapp # 导入HTS221 libraryfrom stm.hts221 import hts221 temp_hum =hts221.HTS221(I2C0, D21) # slot A sleep(1000)print("STARTING...") try:#可以在 ADM 面板中创建设备 UID 和令牌 =ZerynthApp("DEVICE UID", "DEVICE TOKEN",ip ="178.22.65.123", log=True) # 连接到 wifi 网络(在下面设置您的 SSID 和密码) wifi_driver.init(SERIAL2,D24) # slot B for我在范围(0,5):尝试:wifi.link( “SSID”,wifi.WIFI_WPA2, “密码”),除了异常为e突破:打印( “无法链接”,五)其他:打印(“不可能链接!”) while True:sleep(1000) # 启动 Zerynth 应用实例! # 请记住使用刚刚克隆的“模板”文件夹下的文件创建模板 # 将其上传到 ADM 并将其与连接的设备相关联 zapp.run() # 读取传感器并将值发送到 ADM 睡眠(1000)TMP,呜呜=temp_hum.get_temp_humidity()#读取tmp和嗡嗡声的打印( “Temp是:”,TMP, “湿度是:”,嗡嗡声)尝试:zapp.event({ “数据”:TMP}),所不同异常为e:打印(e)如TMP> 30:#发送移动通知#(有每台设备每分钟一个通知对ADM沙箱的限制)尝试:zapp.notify(!“报警”,“高温! ") 例外情况 e: print(e) 例外情况 e: print(e) 

请记住,必须编辑“设备 UID”、“设备令牌”、“SSID”和“密码”以适合您自己的参数。

此时,您可以将脚本上传到您的设备中。

如何在 Zerynth 应用上查看 IoT 温度计仪表板

正如您在这个非常简短的教程中所读到的,您只需打开 Zerynth 应用程序,登录并选择特定设备即可查看您的 IoT 温度计仪表板。最后,Zerynth App 还可以接收推送通知 从连接的设备。在这种情况下,当温度高于阈值时会出现通知!

如果您有任何问题,请随时在 Zerynth 社区论坛中展开讨论。

享受吧!

代码

  • 物联网温度计
物联网温度计Python
############################################ ###############################Zerynth 应用示波器############# ############################################### ################ from wireless import wififrom microchip.mcw1001a import mcw1001a as wifi_driverimport streamsimport adc streams.serial() # 从 zerynthapp 导入 Zerynth APP 库 from zerynthapp import zerynthapp # 从 HTS221 库导入.hts221 import hts221 temp_hum =hts221.HTS221(I2C0, D21) # slot A sleep(1000)print("STARTING...") try:# 设备 UID 和 TOKEN 可以在 ADM 面板中创建 zapp.ZerynthApp "DEVICE UID", "DEVICE TOKEN",ip ="178.22.65.123", log=True) #连接到wifi网络(在下面设置你的SSID和密码) wifi_driver.init(SERIAL2,D24) # slot B for i in范围(0,5):尝试:wifi.link( “SSID”,wifi.WIFI_WPA2, “密码”),除了异常为e突破:打印( “无法链接”,五)其他:打印(“无法链接!") while True:sleep(1000) # 启动 Zerynth 应用实例! # 请记住使用刚刚克隆的“模板”文件夹下的文件创建模板 # 将其上传到 ADM 并将其与连接的设备关联 zapp.run() # 读取传感器并将值发送到 ADM (1000)TMP,呜呜=temp_hum.get_temp_humidity()#读取tmp和嗡嗡声的打印( “Temp是:”,TMP, “湿度是:”,嗡嗡声)尝试:zapp.event({ “数据”:TMP}),所不同异常为e:打印(e)如TMP> 30:#发送移动通知#(有每台设备每分钟一个通知对ADM沙箱的限制)尝试:zapp.notify(!“报警”,“高温! ") 除外 e:print(e) 出了例外情况: print(e)

示意图


制造工艺

  1. 温度计
  2. TMP006 温度传感器 Python 库,使用 Raspberry pi,
  3. Python 和 Raspberry Pi 温度传感器
  4. 使用 PSoC 6 Pioneer Board 和 Pioneer IoT Add-on Shield
  5. 物联网如何颠覆我们周围的世界
  6. 如何在 Windows 上安装 Python [Pycharm IDE]
  7. Python 使用 os.rename() 重命名文件和目录
  8. 使用 Python 登录 Facebook:FB 登录示例
  9. Python 平均值:如何在 Python 中找到列表的平均值
  10. 使用 Python 将字符串转换为标题大小写
  11. Python - 使用 SMTP 发送电子邮件
  12. 使用 Arduino 和 RFID 和 Python 的考勤系统