5623| 5
|
[入门教程] 【物联网】掌控板SIOT测光线值 |
本帖最后由 rzegkly 于 2019-6-16 19:29 编辑 “万物互联”的时代正渐行渐近,物联网技术也越来越受到创客教育、STEAM教育领域的重视。 最近,读了谢作如老师的文章《做一个通用的物联网数据采集工具》, 文章中提到:“运用物联网技术不仅可以远程控制灯的开关,还可以实现数据自动采集的功能, 这样方便老师、学生使用“数据探究”的方式去研究科学问题,为科学探究提供了有力支撑, 今天分享一篇借助掌控板物联网测光线值文章分享给大家! 一、思 路 1、掌控板板载光线传感器负责收集光线值(0-4095),将光线值发布主题hq/001。 2、转发MQTT 通信的服务器(192.168.0.6)接受掌控板光线值得信息, 3. 在服务器MQTT 的设备列表查看消息,打开网页http://127.0.0.1:8080/html/messages.html?topic=hq/001,导出数据 二、环境 1、硬件:掌控板 编程板 2、软件:mPythonX0.3.2 3、SIoT下载地址: SIOT1.0 三、编程流程: 1、连接串口,通过mini数据线连接掌控板和计算机 2、烧录固件,将掌控板固件升级为2019-05-09,文件系统:2019-05-14 3、编写代码,通过物联网、wifi、显示等模块编写代码 4、刷入运行,刷入掌控板前,对代码进行调试代码,功能实现后刷入 掌控板 1、在功能模块找到“物联网”,选取MOIT对应模块 2、连接无线网络,设置服务器地址、登陆账号密码 3、当A键按下,每隔2s定时采集光线值;当B键按下,取消采集光线值 [mw_shl_code=python,true]from mpython import * import network from umqtt.simple import MQTTClient from machine import Timer import ubinascii my_wifi = wifi() my_wifi.connectWiFi("*****************, "*****************") mqtt = MQTTClient("hq", "192.168.1.6", 1883, "siot", "dfrobot", keepalive=30) try: mqtt.connect() print('Connected') except: print('Disconnected') def mqtt_topic_68712f303031(_msg): oled.DispChar("", 0, 48, 1) oled.DispChar(_msg, 0, 48, 1) oled.show() def timer1_tick(_): mqtt.publish("hq/001", (str(light.read()))) tim1 = Timer(1) def on_button_a_down(_): oled.DispChar("定时采集光线值", 0, 32, 1) oled.show() tim1.init(period=5000, mode=Timer.PERIODIC, callback=timer1_tick) def on_button_b_down(_): oled.DispChar("取消采集光线值", 0, 32, 1) oled.show() tim1.deinit() def mqtt_callback(topic, msg): try: topic = topic.decode('utf-8', 'ignore') _msg = msg.decode('utf-8', 'ignore') eval('mqtt_topic_' + bytes.decode(ubinascii.hexlify(topic)) + '("' + _msg + '")') except: print((topic, msg)) mqtt.set_callback(mqtt_callback) mqtt.subscribe("hq/001") def timer14_tick(_): mqtt.ping() tim14 = Timer(14) tim14.init(period=20000, mode=Timer.PERIODIC, callback=timer14_tick) button_a.irq(trigger=Pin.IRQ_FALLING, handler=on_button_a_down) button_b.irq(trigger=Pin.IRQ_FALLING, handler=on_button_b_down) oled.fill(0) oled.DispChar(my_wifi.sta.ifconfig()[0], 0, 0, 1) oled.DispChar("连接成功", 0, 16, 1) oled.show() # 设置物联网服务器地址 while True: mqtt.wait_msg() [/mw_shl_code] 五、运行服务器,采集数据: 1、解压SIoT1.0,双击SIoT文件,服务器开始运行 2、在浏览器输入网址127.0.0.1:8080,登陆 账号siot,密码:dfrobot, 说明:账号密码可以通过config.json文件进行修改。 3、项目,设备id在编写程序时系统根据主题自动建立 六、打开网页,导出数据 2、在网页中找到hq项目的001主题,就可以看到一个图表,直观显示数据。 七、知识拓展: 1、MQTT 概念:MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的”轻量级”通讯协议。 特点:可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务,使其在物联网、小型设备、移动应用等方面有较广泛的应用 2、SIoT 为一个为教育定制的跨平台的开源MQTT服务器程序,S指科学(Science)、简单(simple)的意思。 SIoT支持Win10、Win7、Mac、Linux等操作系统,一键启动,无需用户注册或者系统设置即可使用。 |
734 Bytes, 下载次数: 3823
日落光线值
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed