5036| 3
|
[项目] 【Solar Power试用】掌控板物联网-测量2019元旦光照时间项目 |
“元”, 凡数之始称为“元”,指开始,是第一的意思;“旦”,象形字,上面的“日”代表太阳,下面的“一”代表地平线,即太阳从地平线上冉冉升起,象征一日的开始。元旦又称“三元”,即岁之元、月之元、时之元。中国是世界上第12个开始新年的国家。距2019元旦还有3天的时间。通过DF创客社区的“太阳能电源管理模块”和掌控板制作一个“测量2019元旦光照时间项目”,和大家分享一下吧。 一、测量时间思路框架 1、通过微功率太阳能电源管理模块SPV105为掌控板提供电源; 2、利用掌控板上光线传感器获取学校一天光线值,掌控板ESP32芯片的无线功能和MQTT协议,将信息上传物联网服务器上; 3、通过移动OneNET平台实时转发、存储、被第三方设备(电脑、平板、手机)调用; 4、在OneNETt平台以网站形式展示数据,通过掌控板上OLED显示屏显示光照值。 二、.在OneNET平台创建MQTT协议的产品并添加设备。 1、建立中国移动物联网服务器,具体方法参看帖子:接入OneNET云平台https://mpython.readthedocs.io/z(链接已失效) 2、OneNET平台官网地址:https://open.iot.10086.cn/,登录成功进入开发者中心,添加一个新产品。 3、记住设备ID、产品ID、产品APIKey 三、掌控板上光线传感器搜集信息 1.掌控板刷入最新固件MicroPython v1.0.1-dirty on 2018-11-23 2、编写代码 [mw_shl_code=python,true]from umqtt.simple import MQTTClient from mpython import * import time,network, json from machine import Timer # MQTT服务器地址域名为:183.230.40.39,不变 SERVER = "XXXXXXX" #设备ID CLIENT_ID = "XXXXXXX" #产品ID username='XXXXXXX' #产品APIKey: password='XXXXXXX' # wifi参数 SSID="XXXXXXX" #wifi名称 PASSWORD="XXXXXXX" #密码 wlan=None message = {'datastreams':[ { 'id':'sound', 'datapoints':[{'value':0}] }, { 'id':'light', 'datapoints':[{'value':0}] } ]} tim1 = Timer(1) # 创建定时器 # 本函数实现wifi连接 规定动作,不要修改 def ConnectWifi(ssid=SSID,passwd=PASSWORD): global wlan wlan=network.WLAN(network.STA_IF) wlan.active(True) wlan.disconnect() wlan.connect(ssid,passwd) while(wlan.ifconfig()[0]=='0.0.0.0'): time.sleep(1) print('Connecting to network...') print('WiFi Connection Successful,Network Config:%s' %str(wlan.ifconfig())) def pubdata(data): j_d = json.dumps(data) j_l = len(j_d) arr = bytearray(j_l + 3) arr[0] = 1 # publish数据类型为json arr[1] = int(j_l / 256) # json数据长度 高位字节 arr[2] = j_l % 256 # json数据长度 低位字节 arr[3:] = j_d.encode('ascii') # json数据 return arr def publishSenser(): #message['datastreams'][0]['datapoints'][0]['value']=sound.read() message['datastreams'][1]['datapoints'][0]['value']=light.read() c.publish('$dp',pubdata(message)) #publish报文上传数据点 print('publish message:',message) display.fill(0) display.DispChar("物联网连接成功!", 20, 16) display.DispChar("大美二高光线值:", 10, 32) display.DispChar(str(light.read()), 98, 32) display.show() #连接物联网IOT,上传Mython-light ConnectWifi() c = MQTTClient(CLIENT_ID, SERVER, 6002, username, password) c.connect() print("Connected to %s" % SERVER) tim1.init(period=1000, mode=Timer.PERIODIC, callback=lambda _: publishSenser()) # 每隔一秒(可以改变)上传数据点 [/mw_shl_code] 四、电路图 说明:掌控板电源分别有外置USB电源和有外置锂电池提供, 1、太阳能充电:: 白天通过太阳能电池板对锂电池充电, A端太阳能板→ SPV105→B端锂电池 2、USB充电: 晚上通过USB外置电源对锂电池充电 D端外置电源→ SPV105→B端锂电池 3、锂电池供电: 锂电池为掌控板提供电池 B端锂电池→SPV105→C端掌控板 五、知识拓展 1、元旦的由来 传说在4000多年前远古的尧舜盛世之时,尧天子在位时勤政于民为百姓办了很多好事,很受广大百姓爱戴,但因其子无才不太成器,他没把“天子”的皇位传给自己的儿子,而是传给了品德才能兼备的舜。尧对舜说:“你今后一定要把帝位传交好,待我死后也可安心瞑目了。”后来舜把帝位传给了治洪水有功的禹,禹亦像舜那样亲民爱民为百姓做了很多好事,都十分受人爱戴。后来人们把尧死后,舜帝祭祀天地和先帝尧的那一天,当作一年的开始之日,把正月初一称为“元旦”,或“元正”,这就是古代的元旦。 2、微功率太阳能电源管理模块 DFRobot Solar Power Manager太阳能系列是面向物联网IoT与可再生能源项目,为广大创客与应用工程师提供安全高效的嵌入式太阳能电源管理模组。全系列具有最大功率点跟踪MPPT功能,可在各种光照条件下最大化太阳能收集效率,并具有多种电池与电源保护功能,为各类太阳能项目提供高效可靠的电源管理 3、物联网 I oT是Internet of Things的缩写,字面翻译是"物体组成的因特网",准确的翻译应该为"物联网"。物联网(Internet of Things)又称传感网,简要讲就是互联网从人向物的延伸。"物联网"(Internet of Things)指的是将各种信息传感设备,如射频识别装置、红外感应器、全球定位系统、激光扫描器等种种装置与互联网结合起来而形成的一个巨大网络。其目的是让所有的物品都与网络连接在一起,方便识别和管理。 4、我发布的页面如下:https://open.iot.10086.cn/appview/p/7662f1fac1b386e0481abaf674d51caa |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed