数据采集设备属于物联网领域的标准件,广泛应用于工业、医疗、通讯以及教育等场景。调研发现,数据采集设备主要由硬件系统和软件代码两部分组成。近年来,随着技术的发展,工程技术人员通过编写各种程序算法,不断的挖掘硬件的性能,不仅降低了硬件的成本,还大大减小了设备的体积,具体如下图所示:
上图展示了数据采集模块的应用场景:图a表示为马斯克研发的脑机接口,帮助瘫痪患者使用神经信号操控数字设备;图b展示了美国西北大学 Rogers的科研成果,利用设备采集人体喉咙的振动信号,通过人工智能算法提取数字特征,获取人体的生理状态;图 c 展示了香港大学的研究成果,通过数据采集设备加电化学传感器,获取患者血压、血糖以及体温等数据,实现人体生理状态的远程监测。
ESP32是乐鑫公司推出的 AIoT 芯片,能够通过 IIC 和 SPI 协议驱动后端功能器件,进而实现信号采集、设备管理等功能。调研发现,该产品内置有WiFi 和 BLE模块,能够大大减小了信号采集设备的体积。近来,我们结合联远智维使用的物联网平台与 ESP32 devkitv1 开发板,具体如图2所示,通过简单的Demo采集温湿度传感器的数据,后续利用MQTT协议将数据上传到云平台。
项目中通过Thonny开发环境下载安装 micropython 固件,逐次编写WIFI连接,IIC驱动以及MQTT上传相关的程序代码,最终实现电压信号采集,并且上传到联远云平台。其中,部分代码如下所示:
#wifi连接程序
import time
import network
def do_connect():
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
if not wlan.isconnected():
print('connecting to network...')
wlan.connect('WIFI-NAME', 'xxxxxx') # WIFI名字和密码
i = 1
while not wlan.isconnected():
print("正在链接中...{}".format(i))
i += 1
time.sleep(1)
print('network config:', wlan.ifconfig())
def sub_cb(topic, msg): # 回调函数,收到服务器消息后会调用这个函数
print(topic, msg)
c = MQTTClient("1", "127.0.0.1", 1883, "admin|1676719079277", "3ce32cc64510e31887d15d294d0e2918", keepalive=60) # 建立一个MQTT客户端
{
"deviceId": "1",
"messageId":"1626923977595699201",
"properties":{"tem":"40"},
"success": true
}
topic:/ads-1/1/properties/read/reply
项目调试过程中,我们在云平台中建立相应产品,添加相关设备等,实现了物理设备与物联网平台的相互连接,最终利用MQTT协议将控制指令下发给硬件平台,并将采集的数据上传到云平台,具体结果如图3所示:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。