2018-11-7 10:42:02 [显示全部楼层]
6082浏览
查看: 6082|回复: 1

[入门教程] 【掌控】mpython-24…光阴的故事,物联光线-1

[复制链接]
光阴的故事,物联光线-1
【小提示】本项目要在完成上两个帖子基础上完成。

测试掌控物联网上传功能,做了个光线数据上传ONENET平台的小案例,发布在群里,引起了吴俊杰老师的注意。
吴老师的思维够敏捷,提出了一个好玩的想法,多找一些伙伴来测试全国各地某一天的光线值,看能得到好玩的结果不。
【掌控】mpython-24…光阴的故事,物联光线-1图4
【掌控】mpython-24…光阴的故事,物联光线-1图1
【掌控】mpython-24…光阴的故事,物联光线-1图2
【掌控】mpython-24…光阴的故事,物联光线-1图3
所以呢,我们拉了个小群,打算来做一下这个有趣的事。

这个帖子,当作准备帖……1。

【1】注册中国移动oneNET物联网平台,记录自己设备的MQTT参数。
方法参看帖子:https://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=271896
【2】代码准备代码参考掌控板帮助文档,我稍有改动。
[mw_shl_code=python,true]from simple import MQTTClient
from mpython import *
from machine import Timer
import time, network, json

# MQTT服务器地址域名为:183.230.40.39,不变
SERVER = "183.230.40.39"
# 设备ID
CLIENT_ID = "***"
# 产品ID
username = '***'
# 产品APIKey:
password = '***'


# wifi参数
SSID = "***"            # wifi名称
PASSWORD = "****"         # 密码
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...')
        # 下面四行是我加的,为了显示网络正在连接
        display.fill(0)
        display.DispChar("IOT连接中...", 16, 16)
        display.show()
    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("IOT连接成功", 16, 0)
    display.DispChar("光线值:", 16, 16)   
    display.DispChar(str(light.read()), 16, 32)
    display.show()

   
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]
代码刷入掌控板,设为默认运行,重启掌控,连接WIFI(信号要好点啊),数据开始上传了。

怎么看到平台上的数据呢,要做下面设置。

【3】平台接收端设置
参考帖子:https://mc.dfrobot.com.cn/forum.php?mod=viewthread&tid=272037
看图说话。
【掌控】mpython-24…光阴的故事,物联光线-1图5
【掌控】mpython-24…光阴的故事,物联光线-1图6
【掌控】mpython-24…光阴的故事,物联光线-1图7
【掌控】mpython-24…光阴的故事,物联光线-1图8
预览一下,这时如果已连接,数据已经可以显示了。
保存。
【掌控】mpython-24…光阴的故事,物联光线-1图9
如果要发布,可以在网页,微信等平台分享。
可以填写申请。等待批准。
【掌控】mpython-24…光阴的故事,物联光线-1图10
【掌控】mpython-24…光阴的故事,物联光线-1图11
上面操作可以在平台帮助文档中查找。
我发布的页面如下。
https://open.iot.10086.cn/appview/p/caa5f2d01ef506385fc4fae9c55af484
【掌控】mpython-24…光阴的故事,物联光线-1图12
还可以有二维码分享。
【掌控】mpython-24…光阴的故事,物联光线-1图13

【4】数据查询
中移动的IOT平台不提供数据下载,但可以提供数据查询。
优点是数据不限量,保存一年。
【掌控】mpython-24…光阴的故事,物联光线-1图14
【掌控】mpython-24…光阴的故事,物联光线-1图15

还可以用代码查询。
我还不会,所以就不写了。

OK大伙先玩起来。其它功能自己探索一下吧。





Ryan520  见习技师

发表于 2019-3-7 16:17:05

太赞了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail