MicroPython动手做(31)——物联网之Easy IoT

2020-06-101.8万
AI 快速预览详细 收起
本文介绍了物联网的起源和发展,重点讲述了Kevin Ashton在1999年提出的物联网概念及其应用。文章解释了物联网的核心思想是通过计算机自动收集数据来减少浪费、损失和成本。Kevin Ashton还率先将RFID技术应用于供应链管理领域。通过本文,读者可以更好地理解物联网的基本概念和其带来的好处。
MicroPython动手做(31)——物联网之Easy IoT图1

1、物联网的诞生
美国计算机巨头微软(Microsoft)创办人、世界首富比尔盖茨,在1995年出版的《未来之路》一书中,提及“物物互联”。1998年麻省理工学院提出,当时被称作EPC系统的物联网构想。2005年11月,国际电信联盟发布《ITU互联网报告2005:物联网》,正式提出物联网时代来临。

物联网(IoT)一词是由Kevin Ashton 于1999年在Proctor&Gamble的一次演讲中创造的 。他是麻省理工学院Auto-ID实验室的联合创始人。他率先将RFID(用于条形码检测器)用于供应链管理领域。他还创立了Zensi,一家生产能量传感和监测技术的公司。 所以,让我首先向您介绍Kevin Ashton的一句话,他在2009年为RFID期刊撰写了这篇文章。这将有助于您从核心理解物联网。

如果我们拥有能够了解所有事情的计算机 - 使用他们在没有我们任何帮助的情况下收集的数据 - 我们将能够跟踪和计算所有内容,并大大减少浪费,损失和成本。我们知道什么时候需要更换,修理或召回,以及它们是新鲜的还是过去的。 我们需要用他们自己的收集信息的方式赋予计算机权力,这样他们就可以随意地看到,听到和闻到这个世界。

上面凯Kevin的应用会让你了解物联网发展背后的意识形态。现在让我们尝试进一步简化这个术语,从根本上理解物联网。在此之后,我们将继续前进,并寻求物联网的好处。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(33)
驴友花雕
驴友花雕
作者
用移动端EasyIoT小程序发送指令

驴友花雕
驴友花雕
作者
mPython X 实验图形编程

驴友花雕
驴友花雕
作者
用移动端EasyIoT小程序发送指令


驴友花雕
驴友花雕
作者
#MicroPython动手做(31)——物联网之Easy IoT
#使用移动端EasyIoT小程序控制RGB灯
[mw_shl_code=python,false]#MicroPython动手做(31)——物联网之Easy IoT
#使用移动端EasyIoT小程序控制RGB灯
from mpython import *
import network
from umqtt.simple import MQTTClient
import time
import music
from machine import Timer
import ubinascii
my_wifi = wifi()
my_wifi.connectWiFi("zh", "zy1567")
mqtt = MQTTClient("0805e3d04f3b34e7", "182.254.130.180", 1883, "qlZ0uezGR", "3_W0uezGgz", keepalive=30)
try:
mqtt.connect()
print('Connected')
except:
print('Disconnected')
mqtt.set_last_will("TvkJXezMR", "Ready!")
def mqtt_topic_54766b4a58657a4d52(_msg):
oled.DispChar((str(_msg)), 55, 24, 1)
oled.show()
if "on" == _msg:
music.play('D5:1')
rgb.fill((int(255), int(0), int(0)))
rgb.write()
time.sleep_ms(1)
oled.DispChar("开灯", 52, 36, 1)
oled.show()
elif "off" == _msg:
music.play('F5:1')
rgb.fill( (0, 0, 0) )
rgb.write()
time.sleep_ms(1)
oled.DispChar("关灯", 52, 36, 1)
oled.show()
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("TvkJXezMR")
def timer14_tick(_):
mqtt.ping()
tim14 = Timer(14)
tim14.init(period=20000, mode=Timer.PERIODIC, callback=timer14_tick)
oled.invert(0)
oled.DispChar("移动版EasyIoT小程序", 5, 10, 1)
oled.show()
rgb[1] = (int(0), int(102), int(0))
rgb.write()
time.sleep_ms(1)
music.play('G5:1')
while True:
mqtt.wait_msg()[/mw_shl_code]
驴友花雕
驴友花雕
作者
移动端EasyIoT小程序

驴友花雕
驴友花雕
作者
移动端EasyIoT小程序

驴友花雕
驴友花雕
作者
12、移动端EasyIoT小程序
微信小程序搜索Easy IoT或打开微信扫描下方二维码,使用DFRobot用户中心账号登陆(手机号+验证码),进入“我的设备”页面。“我的设备”页面显示了在Easy IoT物联网网站中拥有的设备列表。可以看到设备中物联网数据的数据图表。

驴友花雕
驴友花雕
作者

驴友花雕
驴友花雕
作者
mPython X 实验图形编程

驴友花雕
驴友花雕
作者
收集到的光线数据


驴友花雕
驴友花雕
作者
收集到的声音数据


驴友花雕
驴友花雕
作者
11、使用Easy IoT平台远距离收集声光数据
[mw_shl_code=python,false]#MicroPython动手做(31)——物联网之Easy IoT
#使用Easy IoT平台远距离收集声光数据
from mpython import *
import network
from umqtt.simple import MQTTClient
import music
import time
my_wifi = wifi()
my_wifi.connectWiFi("zh", "zy1567")
mqtt = MQTTClient("664fa81baa7fe777", "182.254.130.180", 1883, "qlZ0uezGR", "3_W0uezGgz", keepalive=30)
mqtt.set_last_will("TvkJXezMR", "I am offline")
try:
mqtt.connect()
print('Connected')
except:
print('Disconnected')
oled.fill(0)
oled.DispChar("远距离收集声光数据", 10, 15, 1)
oled.show()
music.play('D5:1')
rgb.fill((int(0), int(102), int(0)))
rgb.write()
time.sleep_ms(1)
while True:
rgb[1] = (int(255), int(0), int(0))
rgb.write()
time.sleep_ms(1)
mqtt.publish("TvkJXezMR", (str(light.read())))
mqtt.publish("ZlB0tWZMg", (str(sound.read())))
time.sleep(1)
rgb.fill( (0, 0, 0) )
rgb.write()
time.sleep_ms(1)[/mw_shl_code]
驴友花雕
驴友花雕
作者

驴友花雕
驴友花雕
作者
ZlB0tWZMg设备接收到的数字命令消息

驴友花雕
驴友花雕
作者
mPython X 实验图形编程

驴友花雕
驴友花雕
作者


驴友花雕
驴友花雕
作者
10、输入数字远距离画空心园
[mw_shl_code=python,false]#MicroPython动手做(31)——物联网之Easy IoT
#输入数字远距离画空心园
from mpython import *
import network
from umqtt.simple import MQTTClient
import music
import time
from machine import Timer
import ubinascii
my_wifi = wifi()
my_wifi.connectWiFi("zh", "zy1567")
mqtt = MQTTClient("664fa81baa7fe777", "182.254.130.180", 1883, "qlZ0uezGR", "3_W0uezGgz", keepalive=30)
mqtt.set_last_will("ZlB0tWZMg", "Hello, world!")
try:
mqtt.connect()
print('Connected')
except:
print('Disconnected')
def mqtt_topic_5a6c423074575a4d67(_msg):
if int(_msg) < 32:
rgb.fill((int(0), int(0), int(153)))
rgb.write()
time.sleep_ms(1)
music.play('E5:1')
oled.fill(0)
oled.circle(64, 32, (int(_msg)), 1)
oled.show()
else:
rgb.fill((int(102), int(0), int(0)))
rgb.write()
time.sleep_ms(1)
oled.fill(0)
oled.DispChar("请输入正整数", 30, 12, 1)
oled.DispChar("数值应小于32", 30, 24, 1)
oled.show()
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("ZlB0tWZMg")
def timer14_tick(_):
mqtt.ping()
tim14 = Timer(14)
tim14.init(period=20000, mode=Timer.PERIODIC, callback=timer14_tick)
music.play('D5:1')
rgb[1] = (int(0), int(102), int(0))
rgb.write()
time.sleep_ms(1)
oled.invert(0)
oled.DispChar("远距画空心圆", 30, 12, 1)
oled.show()
while True:
mqtt.wait_msg()[/mw_shl_code]
驴友花雕
驴友花雕
作者
TvkJXezMR设备接收到的命令消息

驴友花雕
驴友花雕
作者
mPython 实验图形编程

驴友花雕
驴友花雕
作者
通过Easy IoT平台远距控制开关RGB灯