创作

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

「行空板Python入门教程」第九课-智慧农业物联网系统2

创客生活 来源:创客生活 作者:创客生活 2022-06-23 11:19 次阅读

5G元年的列车早已驶出,人工智能、大数据的浪潮还在涌动,云办公、云问诊成为防疫期间的热词。

现如今,物联网技术正处于时代发展的风口,相较于传统的硬件设备,物联网技术使得各种硬件设备能够通过信息传输设备与互联网连接起来,继而进行信息的传递,以实现智能化识别与管理,为人们的日常生活带来便捷。

在上节课中,我们利用行空板设计了一个智慧农业可视化系统,模拟了对农业中庄稼生长环境的实时监测和改善,然而,在这其中,监测到的数据只能显示在行空板的屏幕上,我们必须走近行空板方能进行观察,很不方便。那有什么办法能让我们待在家中,远程就能知晓实时的环境数据呢?

这节课,就让我们试着利用强大的物联网技术,用DFRobot的行空板来模拟一个智慧农业物联网系统,解决这个问题吧!

任务目标

将通过土壤湿度传感器检测到的湿度值显示在屏幕上,同时,开启SIoT物联网系统,将数据同步传输到物联网平台以便进行查看,当观察到的土壤湿度值不佳时,通过在物联网平台的网页端输入指定字符“on”和“off”来控制继电器和水泵浇水。

poYBAGKz27uAIIjKAABjCvK7ygQ945.pngpYYBAGKz27uAc3tTAAAvIpTXni8654.jpg

知识点

1、认识物联网、MQTT、SIoT

2、学习使用SIoT库连接物联网平台的方法

3、学习使用SIoT库向物联网平台发送消息的方法

4、学习使用SIoT库接收物联网平台消息的方法

材料清单

硬件清单:

poYBAGKz27yAL5SNAACYj3bik98971.jpg

软件使用:Mind+编程软件x1

其他:

1、带植物的花盆 x1

2、盛有水的烧杯 x1

3、十字/一字两用螺丝刀 x1

知识储备

1、物联网

物联网(Internet of Things,简称IoT)是借助互联网、传统电信网等信息承载体,让所有能行使独立功能的普通物体实现互联互通的网络。

物联网是互联网的一个延伸,互联网的终端是计算机(PC、服务器),而物联网的终端是硬件设备(手机、电脑、传感器等等)。通过物联网,我们可以用中心计算机将各种机器、设备连接起来,进行集中管理,实现物物相连。比如,将家中的灯、风扇、空调等电器连入物联网中后可以通过手机来控制它们开关

2、MQTT

计算机为了联网,就必须规定通信协议,就好比一群不同国家的人在一块儿,只有说同一种语言才能实现互相交流。同样地,要想实现万物互联,也需要一套协议。事实上,物联网系统的搭建可通过很多协议来实现,常用的物联网应用层协议包括MQTT、HTTP、XMPP、CoAP等。这里我们采用的是MQTT,通过该协议,我们可以在物联网上传输消息。

MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,服务器就是我们要搭建的物联网平台的载体。客户端可以是信息发布者或订阅者。每个客户端都可以连接到服务器。举个例子,邮局大家都不陌生,我们可以到邮局寄信和收信。当我们寄信时,对于邮局而言我们就是信息发布者,当收信时我们就成了订阅者。同时,无论是寄信者还是收信者,我们都是客户。而邮局这个收寄信的平台就是所谓的服务器,为我们提供收信和寄信的服务。

poYBAGKz27yAeXLAAAAaiqqVk7E452.jpg

当发布者具有要分发的新数据时,它会将包含数据的控制消息发送到服务器。然后,服务器将信息分发给已订阅该主题的任何客户端。发布者不需要有关于订阅者数量或位置的任何数据,而订阅者又不必配置有关发布者的任何数据。

pYYBAGKz27yAOvPyAAAUxagNfwM691.jpg

另外,MQTT传输的消息可分为:Topic和payload两部分

(1)Topic,可以理解为消息的类型,订阅者订阅后,就会收到该主题的消息内容(Payload);

(2)payload,可以理解为消息的内容,是指订阅者具体要接收的内容。

3、SIoT

SIoT是一个为教育定制的跨平台的开源MQTT服务器程序,S指科学(science)、简单(simple)的意思。SIoT支持Win10、Win7、Mac、Linux等操作系统,一键启动,无需用户注册或者系统设置即可使用。

SIoT也是为了帮助中小学生理解物联网原理,并且能够基于物联网技术开发各种创意应用。因为其重点关注物联网数据的收集和导出,是采集科学数据的最好选择之一。

poYBAGKz272ADCciAAAh671VJ18089.png

这里,于行空板而言,SIoT应用程序已经被内置在了板子上,因此在使用时,我们可直接在应用开关内通过点击它来开启服务。同时,为了便于它的使用,我们开发了名为“SIoT”的Python库,旨在通过编写Python程序来连接MQTT服务器以及实现消息的传输。

在实际使用时,开启SIoT服务的行空板我们就可以当作一台服务器,连接传感器以检测数据的行空板(设备)我们可以当作客户端。

pYYBAGKz272AH4xzAAAZIea2ZdI331.jpg

而如果在同一块板子上既开启SIoT服务,又连接传感器来检测数据,那么它既是客户端又是服务器。

poYBAGKz272ABMc3AAAfYgXyt-s726.jpg

Tips:在这节课上,我们将通过一块板子来实现物联网功能,而下节课中,我们将使用三块板子来模拟多节点的物联网系统。

4、SIoT库常见函数

(1)init()、connect()、loop()函数初始化并连接物联网平台

SIoT库中的init()函数可以用来初始化与物联网平台的连接,使用前,我们首先需要导入库,之后设定好连接物联网平台所需的参数,包括服务器IP地址、物联网平台的账号用户名、账号对应的密码,接着使用init()函数进行连接验证,验证成功后再通过connect()和loop()函数进行与平台的连接。

import siot # 导入SIoT库

SERVER = "10.1.2.3" # MQTT服务器IP,输入个人实际Ip

CLIENT_ID = "" # 在SIoT上,CLIENT_ID可以留空

IOT_UserName = 'siot' # 用户名

IOT_PassWord = 'dfrobot' # 密码

siot.init(CLIENT_ID, SERVER, user=IOT_UserName,password=IOT_PassWord) # 初始化,确定输入的用户名和密码正确

siot.connect() # 连接SIoT物联网平台

siot.loop() # 循环

其中,SERVER指的是开启siot服务用以连接的服务器的IP地址;CLIENT_ID指的是客户端标识符,它是客户端到服务器的唯一标识,这里我们可以不输入内容; user指的是物联网平台账户的用户名;password指账号对应的密码。

(2)publish()函数向物联网平台发送消息

在连接上SIoT物联网平台后,通过SIoT库的publish函数可以实现将消息发送到平台,使用时需要先后指定发送的主题Topic(目的地)和发送的消息内容。

IOT_pubTopic = '智慧农业物联网系统/Soil_moisture_value' # 湿度topic,“项目名称/设备名称”

Soil_moisture_value = adc0.read_analog() # 读取模拟值

siot.publish(IOT_pubTopic, Soil_moisture_value) # 发布信息至物联网平台

其中,IOT_pubTopic指主题Topic,包括项目ID和设备名称;Soil_moisture_value指要发送的土壤湿度数据消息。

Tips:SIoT平台上同时用Topic表示了项目ID和设备名称,因此Topic中需要有“/”符号将两者分开,否则物联网平台看不到项目。

(3)subscribe()函数订阅物联网平台消息

在连接上SIoT物联网平台后,通过SIoT库的subscribe()函数可以订阅平台发送来的消息,使用时需要先后指定发送的主题Topic(目的地)以及接收到平台消息后所要执行的操作。

IOT_pubTopic = '智慧农业物联网系统/Soil_moisture_value' # 湿度topic,“项目名称/设备名称”

def sub_relay(client, userdata, msg):

topic = msg.topic

payload = msg.payload.decode()

'''定义接收到指令时的操作'''

print("\nTopic:" + topic + " Message:" + payload) # 打印接收到的信息

if payload == 'on': # 如果接收到“on”

img.config(w=240, h=320, image='img/浇水1.png')

relay.write_digital(1) # 继电器输出高电平

elif payload == 'off': # 如果接收到“off”

img.config(w=240, h=320, image='img/关水1.png')

relay.write_digital(0) # 继电器输出低电平

siot.subscribe(IOT_pubTopic, sub_relay) # 订阅消息

其中,IOT_pubTopic指主题Topic,包括项目ID和设备名称;sub_relay是定义的接收到平台消息后所要执行的功能函数;msg.topic指的是消息中的Topic主题;msg.payload指的是消息的内容;decode()是将消息内容转换为字符串方便后续条件判断。

动手实践

任务描述1:发送湿度数据至SIoT物联网平台

启动SIoT物联网系统,通过外接土壤湿度传感器检测湿度值后,将数据显示在屏幕上的同时也发送至SIoT物联网平台并在平台网页端查看。

1、硬件搭建

STEP1:通过USB连接线将行空板连接到计算机

STEP2:将土壤湿度传感器接入行空板的P21引脚

pYYBAGKz272AIUahAAAicM-7Ogo230.jpg

STEP3:将土壤湿度传感器插入花盆中

poYBAGKz272AKfwJAAAbW_A0de0902.jpg

STEP4:启动SIoT服务

按下HOME键进入菜单,单击“应用开关”,找到SIoT应用后点击启用,如下图所示。

pYYBAGKz272Ad7wZAABkKA1Zmg8215.jpg

STEP5:查看ip并记录

按下HOME键进入菜单,单击“查看网络信息”,找到SIoT应用后点击启用,如下图所示。

Tips:“10.1.2.3”为板子通过USB线连接电脑后的固定IP地址。这里我们将它记录下来,后续有用。

poYBAGKz276AOJ2XAABcNiW1rNk388.jpg

2、程序编写

STEP1:创建与保存项目文件

启动Mind+,另存项目并命名为“009、智慧农业物联网系统”。

STEP2:创建与保存Python文件

创建一个Python程序文件“main1.py”,双击打开。

STEP3:导入图片文件夹

在项目文件夹中导入背景图文件夹。(图片文件夹与程序文件同在项目文件夹中,下载链接见附录1)

STEP4:程序编写

(1) 导入所需功能库

在这个任务中,我们需要使用Pinpong库来使土壤湿度传感器读取数值并显示在屏幕上,因此,我们需要导入Pinpong库和unihiker库中的GUI模块,同时,为了能将数据实时发送至SIoT物联网平台,我们还需导入SIoT库。

from unihiker import GUI # 导入unihiker库GUI模块from pinpong.board import Board, Pin # 导入pinpong库下的Board, Pin模块import time # 导入time库import siot # 导入SIoT库

(2) 实例化GUI类并初始化板子和引脚

之后我们创建gui对象并初始化板子和引脚以便后续能使用屏幕功能和控制传感器工作。

gui = GUI() # 实例化gui对象 Board().begin() # 初始化行空板adc0 = Pin(Pin.P21, Pin.ANALOG) # 初始化21引脚为模拟输入模式

(3) 设置参数并连接SIoT平台

接下来,我们将创建与SIoT物联网平台的连接,在这之前,我们先设定好连接时所需要的参数,包括ip地址,CLIENT_ID,用户名,密码以及topic,之后进行连接并保持连接状态。

Tips:这里的IP地址为之前记录的“10.1.2.3”。

SERVER = "10.1.2.3" # MQTT服务器IP,输入个人实际Ip CLIENT_ID = "" # 在SIoT上,CLIENT_ID可以留空IOT_UserName = 'siot' # 用户名IOT_PassWord = 'dfrobot' # 密码IOT_pubTopic = '智慧农业物联网系统/Soil_moisture_value' # 湿度topic,“项目名称/设备名称” siot.init(CLIENT_ID, SERVER, user=IOT_UserName,password=IOT_PassWord) # 初始化,确定输入的用户名和密码正确siot.connect() # 连接SIoT物联网平台siot.loop() # 循环

(4) 显示背景图、填充矩形和初始文字

紧接着,我们在行空板的屏幕上显示一张背景图,并添加填充矩形和初始文字,以便后续直接在此更新数据显示。

# 显示背景图片img = gui.draw_image(w=240, h=320, image='img/关水1.png') # 绘制填充矩形并在矩形框内显示文字gui.fill_rect(x=65, y=35, w=70, h=30, color="white") # 绘制矩形“湿度值”gui.fill_rect(x=148, y=35, w=55, h=30, color="white") # 绘制矩形以显示湿度值数据 text_1 = gui.draw_text(x=68, y=36, color="red", text='湿度值:') # 显示"湿度值:"text_value = gui.draw_text(x=155, y=36, color="red", text="") # 显示湿度值数据

(5) 检测土壤湿度并将数据显示在屏幕及发送到SIoT物联网平台

最后,我们设置通过传感器来读取检测数据,将湿度值发送到物联网平台的同时也显示在屏幕上,而为了使得上述操作能每隔一秒不停地执行,这里,我们使用while语句。

while True: # 循环 Soil_moisture_value = adc0.read_analog() # 读取模拟值 print(Soil_moisture_value) # 打印显示湿度值 siot.publish(IOT_pubTopic, Soil_moisture_value) # 发布信息至物联网平台 text_value.config(text=Soil_moisture_value) # 更新湿度值 time.sleep(1) # delay1秒

Tips:完整示例程序如下:

from unihiker import GUI # 导入unihiker库GUI模块from pinpong.board import Board, Pin # 导入pinpong库下的Board, Pin模块import time # 导入time库import siot # 导入SIoT库 gui = GUI() # 实例化gui对象 Board().begin() # 初始化行空板adc0 = Pin(Pin.P21, Pin.ANALOG) # 初始化21引脚为模拟输入模式 SERVER = "10.1.2.3" # MQTT服务器IP,输入个人实际Ip CLIENT_ID = "" # 在SIoT上,CLIENT_ID可以留空IOT_UserName = 'siot' # 用户名IOT_PassWord = 'dfrobot' # 密码IOT_pubTopic = '智慧农业物联网系统/Soil_moisture_value' # 湿度topic,“项目名称/设备名称” siot.init(CLIENT_ID, SERVER, user=IOT_UserName,password=IOT_PassWord) # 初始化,确定输入的用户名和密码正确siot.connect() # 连接SIoT物联网平台siot.loop() # 循环 # 显示背景图片img = gui.draw_image(w=240, h=320, image='img/关水1.png') # 绘制填充矩形并在矩形框内显示文字gui.fill_rect(x=65, y=35, w=70, h=30, color="white") # 绘制矩形“湿度值”gui.fill_rect(x=148, y=35, w=55, h=30, color="white") # 绘制矩形以显示湿度值数据 text_1 = gui.draw_text(x=68, y=36, color="red", text='湿度值:') # 显示"湿度值:"text_value = gui.draw_text(x=155, y=36, color="red", text="") # 显示湿度值数据 while True: # 循环 Soil_moisture_value = adc0.read_analog() # 读取模拟值 print(Soil_moisture_value) # 打印显示湿度值 siot.publish(IOT_pubTopic, Soil_moisture_value) # 发布信息至物联网平台 text_value.config(text=Soil_moisture_value) # 更新湿度值 time.sleep(1) # delay1秒

3、程序运行

STEP1:远程连接行空板,运行程序并观察效果

观察行空板,可以看到在智慧农业的背景图上,每隔一秒显示着检测到的土壤湿度值。

pYYBAGKz276AZX60AACiCzAfvHg284.png

STEP2:平台网页端查看消息

(1)打开浏览器,输入“10.1.2.3”后回车,进入行空板的网页菜单,找到应用开关下的SIoT服务,点击“打开页面”。

poYBAGKz276ADYz4AABPBumLAbM709.jpg

(2)输入默认的账号“siot”,密码“dfrobot”,点击登录

pYYBAGKz27-ASkajAAAZGX6rmDo194.jpgpoYBAGKz27-AZ60sAAAZKgMo3Us500.jpg

(3)点击“智慧农业物联网系统”项目下的“查看设备列表”

pYYBAGKz27-ALOLNAAAbIdXI0ns075.jpg

可以看到“项目ID”、“名称”分别对应为程序中“IOT_pubTopic”的信息

poYBAGKz27-AXPaCAAAZuvNa3h0081.jpg

(4)点击“查看消息”

pYYBAGKz27-ARrtFAAAZXE65uBE181.jpg

随后我们就可以查看到“智慧农业物联网系统/Soil_moisture_value”这个Topic的MQTT消息记录啦,并伴有具体的消息内容及发送时间,这就是我们检测到的该时刻的土壤湿度值,如下图。

poYBAGKz27-AcVGUAAAk1rtONp0523.jpg

(5)点击“自动刷新消息”

pYYBAGKz27-AWQTsAAAeEOxdo6M874.jpg

通过刷新消息,我们发现土壤湿度数据每隔一秒进行了更新,如下图,

poYBAGKz28CAZWFTAABYD3OZGI0800.jpg

(6)点击“隐藏/显示图标”

点击后,我们可以发现数据以图表的形式呈现了出来,如下图。

pYYBAGKz28CANjBBAABAk3zjMWw815.jpg

(7)点击“导出查询结果”

这里我们可以将数据以表格的形式下载下来以便后续作进一步分析。

poYBAGKz28CAQXsdAAAvFEFPWHI138.jpg

任务描述2:平台网页端控制浇水

在上一任务中,我们实现了将土壤湿度传感器检测到的数据上传到SIoT物联网平台,并从平台的网页端实时查看湿度值,接下来,我们给板子添加订阅平台消息的功能,使得我们能够在土壤较干燥的时候通过SIoT物联网平台的网页端来及时控制浇水。

1、硬件搭建

STEP1:将继电器接入行空板的P23引脚

pYYBAGKz28CAaRjoAAA84ZZKeVg667.jpg

STEP2:利用螺丝刀将水泵正负线与转接头连接起来,具体步骤同上节课。

poYBAGKz28CAHcEgAAAaHpddjSw287.jpg

STEP3:利用继电器将12V电源开关与水泵的转接头连接起来

pYYBAGKz28CAJi2mAAAsmk0O7Xk902.jpg

STEP4:将继电器开关拨至NC端

poYBAGKz28GAT1XoAAAxKj_zTs4038.png

STEP5:将水泵固定在满水的烧杯中

pYYBAGKz28GAIuJ9AAB_FoUDTOw655.png

STEP6:将水管插入花盆中

poYBAGKz28GAb2iQAAAdIPMyAvc464.jpg

2、程序编写

STEP1:创建与保存项目文件

新建一个Python程序文件“main2.py”,双击打开。

Step2:程序编写

(1)初始化引脚

这里,由于我们将使用继电器控制水泵进行浇水,因此我们需要补充对继电器引脚的初始化操作,设置其23号引脚为数字输出模式。

relay = Pin(Pin.P23, Pin.OUT) # 初始化23引脚为数字输出模式

(2)定义接收到平台消息后的操作

由于后续我们将接收平台发送的消息,当消息为“on”时,控制继电器输出高电平来浇水,当消息为“off”时,控制继电器输出低电平停止浇水。因此在这里,我们补充定义一个回调函数,来表示接收到平台消息后需执行的操作,以便在后续调用。

def sub_relay(client, userdata, msg): topic = msg.topic payload = msg.payload.decode() '''定义接收到指令时的操作''' print("\nTopic:" + topic + " Message:" + payload) # 打印接收到的信息 if payload == 'on': # 如果接收到“on” img.config(w=240, h=320, image='img/浇水1.png') relay.write_digital(1) # 继电器高电平 elif payload == 'off': # 如果接收到“off” img.config(w=240, h=320, image='img/关水1.png') relay.write_digital(0) # 继电器低电平

(3)订阅平台发送的消息

最后,为了能接收到物联网平台发送的消息,这里,我们在连接上平台后补充一下对消息的订阅。

siot.subscribe(IOT_pubTopic, sub_relay) # 订阅消息

Tips:完整示例程序如下:

from unihiker import GUI # 导入unihiker库GUI模块from pinpong.board import Board, Pin # 导入pinpong库下的Board, Pin模块import time # 导入time库import siot # 导入SIoT库 gui = GUI() # 实例化gui对象 Board().begin() # 初始化行空板adc0 = Pin(Pin.P21, Pin.ANALOG) # 初始化21引脚为模拟输入模式relay = Pin(Pin.P23, Pin.OUT) # 初始化23引脚为数字输出模式 SERVER = "10.1.2.3" # MQTT服务器IP,输入个人实际IP CLIENT_ID = "" # 在SIoT上,CLIENT_ID可以留空IOT_UserName = 'siot' # 用户名IOT_PassWord = 'dfrobot' # 密码IOT_pubTopic = '智慧农业物联网系统/Soil_moisture_value' # 湿度topic,“项目名称/设备名称” def sub_relay(client, userdata, msg): topic = msg.topic payload = msg.payload.decode() '''定义接收到指令时的操作''' print("\nTopic:" + topic + " Message:" + payload) # 打印接收到的信息 if payload == 'on': # 如果接收到“on” img.config(w=240, h=320, image='img/浇水1.png') relay.write_digital(1) # 继电器输出高电平 elif payload == 'off': # 如果接收到“off” img.config(w=240, h=320, image='img/关水1.png') relay.write_digital(0) # 继电器输出低电平 siot.init(CLIENT_ID, SERVER, user=IOT_UserName,password=IOT_PassWord) # 初始化,确定输入的用户名和密码正确siot.connect() # 连接SIoT物联网平台siot.subscribe(IOT_pubTopic, sub_relay) # 订阅消息siot.loop() # 循环 # 显示背景图片img = gui.draw_image(w=240, h=320, image='img/关水1.png') # 绘制填充矩形并在矩形框内显示文字gui.fill_rect(x=65, y=35, w=70, h=30, color="white") # 绘制矩形“湿度值”gui.fill_rect(x=148, y=35, w=55, h=30, color="white") # 绘制矩形以显示湿度值数据 text_1 = gui.draw_text(x=68, y=36, color="red", text='湿度值:') # 绘制矩形“湿度值”text_value = gui.draw_text(x=155, y=36, color="red", text="") # 显示湿度值数据 while True: # 循环 Soil_moisture_value = adc0.read_analog() # 读取模拟值 print(Soil_moisture_value) # 打印显示湿度值 siot.publish(IOT_pubTopic, Soil_moisture_value) # 发布信息至物联网平台 text_value.config(text=Soil_moisture_value) # 更新湿度值 time.sleep(1) # delay1秒

3、程序运行

STEP1:将12V电源开关插上220V电源插座

STEP2:远程连接行空板,运行程序并观察效果

观察行空板,可以发现湿度值依旧不停得更新显示在屏幕上。

pYYBAGKz276AZX60AACiCzAfvHg284.png

STEP3:平台发送消息

观察检测到的突然湿度数据,当湿度值过低时,我们在网页端指定位置输入“on”,并点击发送,可以发现继电器开始工作,控制水泵不断将烧杯中的水抽入花盆中。

pYYBAGKz27uAc3tTAAAvIpTXni8654.jpgpYYBAGKz28GAfhjIAAAgQPomPJw129.jpg

之后,当水量合适后,我们再在消息框中输入“off”,点击发送后,可以发现水泵停了下来。

poYBAGKz28GASw4NAAAvN_tJVUc889.jpgpYYBAGKz28GAeIfAAAAhD1OCioE241.jpg

挑战自我

想一想,在农业系统中,还有哪些因素是会影响庄稼生长的呢,我们有何方法来检测它吗,自己来研究一下吧,并结合物联网平台,试着以远程的方式分析一下它对庄稼的影响规律吧!

更多行空板Python入门教程学习请关注“蘑菇云创造”公众号。

  • 物联网
    +关注

    关注

    2816

    文章

    31941

    浏览量

    331778
  • 温湿度传感器

    关注

    3

    文章

    440

    浏览量

    31107
  • python
    +关注

    关注

    47

    文章

    2715

    浏览量

    74816
  • 智慧农业
    +关注

    关注

    4

    文章

    510

    浏览量

    17603
  • DFRobot
    +关注

    关注

    3

    文章

    1119

    浏览量

    7596
收藏 人收藏

    评论

    相关推荐

    NETWORKX Python编程语言软件包概述及用途

    NetworkX 是一个 Python 编程语言软件包,可用于创建、操作和学习复杂图形网络的结构、动....
    的头像 NVIDIA英伟达 发表于 07-01 11:30 41次 阅读

    智能工厂数采方案

    两化融合物联网系统是智能工厂的核心,透过信息收集、分析及可视化进行实时管理,物通博联提供完整的物联网....
    发表于 07-01 10:56 12次 阅读

    Python2.7和Python3.2有什么区别

    Python2.7中input函数的参数是合法的Python表达式,所以参数是字符串时,要输入双/....
    发表于 07-01 10:53 7次 阅读

    工业PDA的应用行业及解决方案

    近年来,全球市场环境风云变幻,继互联网技术后的新兴物联网技术迎来迅猛发展,赋予了千行百业新的内涵与动....
    的头像 1655199132.853000 发表于 07-01 10:23 26次 阅读

    简化嵌入式物联网应用程序的软件开发

    这是通过在硬件和软件堆栈中主动和无缝集成嵌入式和连接设备来实现的。MCU 和无线设备的这种集成是紧凑....
    的头像 星星科技指导员 发表于 07-01 09:53 32次 阅读
    简化嵌入式物联网应用程序的软件开发

    用于物联网开发的方便且免费使用的IDE

      RT-Thread Studio 内部集成了丰富的优质可复用代码资源。经过简单的配置,开发者就可....
    的头像 星星科技指导员 发表于 07-01 09:13 61次 阅读

    互联网时代下的STEAM教育创新之路

    前段时间印发的《全民科学素质行动规划纲要(2021-2035年)》也提到了科学素质是国民素质的重要组....
    的头像 格物斯坦机器人 发表于 06-30 18:20 4次 阅读

    市数字政府服务中心领导一行莅临诚迈科技参观考察

    6月28日,山西省大同市副市长孟维君,市政府副秘书长、市数字政府服务中心主任韩杰,市政府副秘书长高旭....
    的头像 科技绿洲 发表于 06-30 16:10 210次 阅读

    水肥一体化自动控制机的物联网应用

    现场的水肥一体化自动控制机的控制器PLC通过网口或串口与WG585工业智能网关连接,分布在农田各地的....
    发表于 06-30 14:45 5次 阅读

    如何让IoT产品更好便于企业运营管理

    物联网(IoT)产品的快速更新迭代,使得很多研发出来的产品越来越频繁地进行技术升级。尤其在当下,一个....
    发表于 06-30 14:44 66次 阅读

    TPM 2.0如何在坚固的边缘计算机中实现基础安全

      最后,当嵌入式系统设计人员转向操作系统层时,Microsoft Windows 10 IoT具有....
    的头像 星星科技指导员 发表于 06-30 14:39 120次 阅读

    企业如何在移动应用开发中利用人工智能

      一些专家坚持认为,人工智能和区块链的实施应该主要进行,同时考虑到用户的安全。但是,这些技术可以解....
    发表于 06-30 11:31 79次 阅读

    基于Python对微信好友进行数据分析

    同平时登录网页版微信一样,我们使用手机扫描二维码就可以登录,这里返回的friends对象是一个集合,....
    的头像 马哥Linux运维 发表于 06-30 11:17 119次 阅读

    满足日益增长的硬件安全需求

      下一个级别,TrustFLEXv,提供了使用客户选择的证书颁发机构的灵活性,同时仍然受益于预配置....
    的头像 星星科技指导员 发表于 06-30 10:57 104次 阅读

    能源物联网平台方案详解

    Acrel-EIoT能源物联网开放平台是一套基于物联网数据中台,建立统一的上下行数据标准,为互联网用....
    的头像 h1654156073.1491 发表于 06-30 10:48 39次 阅读
    能源物联网平台方案详解

    超越实时嵌入式调试的范围

      因为数据很容易以易于使用、人类可读的数据格式导出到 PC 终端,从而帮助工程师快速捕获波形并分析....
    的头像 星星科技指导员 发表于 06-30 10:47 109次 阅读
    超越实时嵌入式调试的范围

    EIoT能源物联网开放平台的主要功能介绍

    Acrel-EIoT 能源物联网开放平台是一套基于物联网数据中台,建立了上下行数据标准,为互联网用户....
    的头像 h1654156073.1491 发表于 06-30 10:44 36次 阅读
    EIoT能源物联网开放平台的主要功能介绍

    实时操作系统RTOS的介绍

      RTOS 是确保嵌入式设备(例如用于物联网、机器人和移动设备)的可预测和及时执行的关键组件。因此....
    的头像 星星科技指导员 发表于 06-30 10:43 104次 阅读

    物联网数据库管理注意事项

      在物联网边缘设备上收集和管理的数据量不断增长,这对物联网工程师和数据库管理系统供应商必须不断研究....
    发表于 06-30 10:18 94次 阅读
    物联网数据库管理注意事项

    机智云AIoT开发及云服务平台助力数字化转型升级

    物联网(IoT)产品的快速更新迭代,使得很多研发出来的产品越来越频繁地进行技术升级。尤其在当下,一个....
    的头像 机智云物联网 发表于 06-30 10:15 51次 阅读

    如何合规性为嵌入式市场中平衡敏捷过渡

    在一个敏捷性需要与合规性共存的世界中,很高兴知道这是绝对可能的,只要通过正确的文化、工具和流程来解决....
    的头像 星星科技指导员 发表于 06-30 09:36 42次 阅读

    国内物联网专利授权再进击!华为全球授权量超11万,oppo国内排名第三

    电子发烧友网报道(文/莫婷婷、章鹰)近年来,关于产品核心知识产权的竞争不在少数,专利已经成为同行竞争....
    的头像 Monika观察 发表于 06-30 08:40 718次 阅读
    国内物联网专利授权再进击!华为全球授权量超11万,oppo国内排名第三

    物联网初创企业会遇到的四个坑儿

    大部分初创企业缺少有能力的技术人员,以至于软件或硬件选型错误,结果就是走了很多弯路,产品迟迟不能落地....
    的头像 张杰一 发表于 06-30 08:11 227次 阅读

    基于RT-Thread设备运行数据分析预警系统

    本项目采用到硬件方案是:通过ART-Pi STM32H750主板上的I2C引脚和UART以及一个普通....
    的头像 极速紫韵 发表于 06-30 06:22 1270次 阅读
    基于RT-Thread设备运行数据分析预警系统

    智能玻璃温室助力打造现代化设施农业

    温室大棚,作为反季节作物种植的必备建筑物,广泛应用于经济附加值高的作物种植中。如今随着物联网技术的应....
    的头像 王工 发表于 06-29 17:19 168次 阅读

    大华股份智慧物联网产业园赋能数字经济建设

    数字工厂建设是浙江省以数字化改革为引领,深入实施数字经济“一号工程”2.0版,是引领数字产业化发展的....
    的头像 科技绿洲 发表于 06-29 17:15 352次 阅读

    python抓取公司信息

    现在正好是毕业且需要找工作的季节,在找工作的时候很多小伙伴都会一家一家的公司去看,这得多浪费时间啊。今天用Python教大家怎...
    发表于 06-29 16:54 502次 阅读

    高级流程节点使仿真必不可少

      就晶体管数量和复杂性而言,先进工艺节点的设计尺寸正在迅速增加。因此,Veloce Strato ....
    的头像 星星科技指导员 发表于 06-29 15:23 136次 阅读

    克服物联网用户体验设计的六大挑战

      要使物联网系统发挥其极限,用户需要完全信任底层数据。对于在高度敏感的环境中工作的用户,例如核电站....
    的头像 星星科技指导员 发表于 06-29 14:40 134次 阅读
    克服物联网用户体验设计的六大挑战

    使用SPARK和Ada进行代码清理

      Ada 和 SPARK 方法的独特之处在于它集成了软件规范、实现和验证,提供了一种以现代系统所需....
    的头像 星星科技指导员 发表于 06-29 14:33 127次 阅读
    使用SPARK和Ada进行代码清理

    如何为物联网项目选择合适的微控制器

    开源ISA允许不付许可费便能设计自己的处理器,而基于RISC-V ISA的设计可以像任何其它类型的I....
    发表于 06-29 14:27 271次 阅读

    物联网通信复习提纲

    物联网专业通信应用技术复习提纲
    发表于 06-29 14:23 7次 阅读

    定制HMI解决方案可解决工业自动化中复杂多样的需求

      通过访问有助于工业组织进行知情分析的数据,可以提高成本效益和持续改进流程。提供更全面的生产过程视....
    的头像 星星科技指导员 发表于 06-29 14:15 95次 阅读

    应用层提供互操作性的标准和开源计划

      Zigbee 已开始展示 Dotdot 跨不同连接堆栈的互操作性(如图 14 所示),在 CES....
    的头像 星星科技指导员 发表于 06-29 14:09 101次 阅读
    应用层提供互操作性的标准和开源计划

    嵌入式通信管理机的核心优势和作用

    摘要:随着物联网技术的发展,各种应用及系统推陈出新,不断更新换代,而通信管理机是系统的数据枢纽,在整....
    的头像 panqin888 发表于 06-29 12:33 54次 阅读

    应用系统应该使用哪种物联网协议

      这些协议中的每一个的高层定位都是相似的。除了 HTTP,所有提到的协议都被定位为支持数百万设备的....
    的头像 星星科技指导员 发表于 06-29 11:42 158次 阅读
    应用系统应该使用哪种物联网协议

    物联网设备的无线固件升级

      在为物联网应用选择组件时,研究芯片和开发工具支持的 OTA 固件升级方法非常重要。在评估具有内部....
    的头像 星星科技指导员 发表于 06-29 10:58 80次 阅读
    物联网设备的无线固件升级

    偿还安全关键型汽车软件的技术债务

      基线测试可以帮助减少现有代码库中的技术债务,让开发人员有信心重构和增强这些代码库,并最终让这些遗....
    发表于 06-29 10:50 87次 阅读

    物联网对数据中心基础设施构成严峻挑战

      这里的关键点是物联网设备需要正确的数据中心基础设施才能按预期工作。海量数据和不断下降的可接受延迟....
    发表于 06-29 10:16 83次 阅读

    系统模拟是一种对IoT应用程序进行压力测试的方法

      基于物联网的设计的另一个有趣方面是,尽管有数百或数千个节点,但占空比可能相当低。传感器不会不断地....
    的头像 星星科技指导员 发表于 06-29 10:09 126次 阅读
    系统模拟是一种对IoT应用程序进行压力测试的方法

    用于嵌入式设备的JavaScript

      这些开发系统中的每一个都是在嵌入式设备上开始 JavaScript 开发的好工具。尽管 Java....
    的头像 星星科技指导员 发表于 06-29 09:39 71次 阅读
    用于嵌入式设备的JavaScript

    装机1700万部!中移物联网OneOS在智能制造撕开口子 助力中国企业数字化转型

    在过去三年中,由于5G、AI技术快速发展,极大推动物联网的技术的进步,物联网操作系统取得了显着进步。....
    的头像 章鹰观察 发表于 06-29 08:24 1165次 阅读
    装机1700万部!中移物联网OneOS在智能制造撕开口子 助力中国企业数字化转型

    对物联网应用有用的继电器屏蔽PCB设计方案

    描述 对物联网应用有用的继电器屏蔽 PCB 设计 每个家庭都有电子设备,这些电子设备是我们日常生活的重要组成部分,如洗碗...
    发表于 06-29 06:59 38次 阅读

    涂鸦智能物联网设备解决方案合辑(一)

    全球510,000+开发者基于涂鸦开发各类IoT应用。涂鸦智能王学集要做的是揭中国制造业的根,打造最接地气的智能平台,实现智能产...
    发表于 06-28 16:54 551次 阅读
    涂鸦智能物联网设备解决方案合辑(一)

    机智云AIoT云平台推动各行业智能化升级

    机智云将超过10年时间、上万方案、千万级设备接入的物联网云平台建设经验,沉淀为工业级稳定、安全的AI....
    的头像 机智云物联网 发表于 06-28 16:27 218次 阅读

    如何在外包生产过程中保护软件

    根据经济合作与发展组织(OECD)的数据,假冒消费品占世界总体贸易的3%以上。调查结果显示,电子产品....
    的头像 科技绿洲 发表于 06-28 15:47 231次 阅读

    BOE(京东方)智慧楼宇解决方案助力华英证券实现智慧化办公

    近日,由BOE(京东方)打造的智慧楼宇解决方案在华英证券无锡总部、北京、上海、深圳、成都、武汉等地分....
    发表于 06-28 15:29 207次 阅读

    物联网的高效无线软件和固件更新

      SCOMO 仅限于管理和通信协议,将实际操作(如应用程序更新和设备刷新)的实现留给设备制造商。因....
    的头像 星星科技指导员 发表于 06-28 14:58 127次 阅读

    NCChineseConverter中文简繁正转换库

    ./oschina_soft/NCChineseConverter.zip
    发表于 06-28 14:25 5次 阅读
    NCChineseConverter中文简繁正转换库

    中软国际携手深开鸿等企业共同深耕开源鸿蒙“黑土地”

    数字化变革正在全球范围展开,一方面,中国政企的数字化转型进入了深水区,新一代信息技术与各垂直领域融合....
    发表于 06-28 11:22 147次 阅读

    为什么物联网在多种技术的支持下效果最好

      在医院、物流和供应链之外,还有大量利用 LoRa 和支持 BLE 的物联网技术的垂直领域,这些技....
    发表于 06-28 11:10 113次 阅读

    比AirTag还好玩的国产电子Tag

    今天收到一个国产Tag,发现挺好玩的,和大家分享下电子发烧友的喜悦。话不多说了,直接先上图了,这款产....
    发表于 06-27 19:27 580次 阅读
    比AirTag还好玩的国产电子Tag

    Python pacp模块——自动识别文字中的省市区并绘图

    一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块。 举个例子: [code]["徐汇区虹漕路...
    发表于 06-27 17:20 1185次 阅读

    让 python 循环语句具有C语言级别的性能

    Python 的 for 和 while 循环是灵活并且高级的,语法自然、读起来像伪代码。而 Cython 也支持 for 和 while,无需修改。但由于...
    发表于 06-24 16:02 2594次 阅读

    【DFRobot Beetle ESP32-C3开发板试用体验】DHT11 + 超声波 + ONENET

         在上一个试用报告的基础上,这次又增加了一个功能。也算是发挥这个板子的正常作用了。即通过ESP32-...
    发表于 06-24 08:31 452次 阅读
    【DFRobot Beetle ESP32-C3开发板试用体验】DHT11 + 超声波 + ONENET

    【DFRobot Beetle ESP32-C3开发板试用体验】开箱 & 体验

    首先感谢DFRobot & 发烧友给与的机会,本次使用的板子为DFRobot Beetle ESP32-C3,型号为DFR0868。 本人小白,报...
    发表于 06-23 18:43 4441次 阅读
    【DFRobot Beetle ESP32-C3开发板试用体验】开箱 & 体验

    Python 一个超快的公共情报搜集爬虫——Photon

    Photon是一个由s0md3v开源的情报搜集爬虫,其主要功能有: 1.爬取链接(内链、外链)。 2.爬取带参数的链接,如(pythondict.com...
    发表于 06-23 16:35 172次 阅读

    【DFRobot Beetle ESP32-C3开发板试用体验】温湿度检测 + 超声波测距

        首先特别感谢DFRobot 与发烧友论坛开放的本次试用活动,本次试用的板子为DFRobot Beetle ESP32-C3。优...
    发表于 06-23 09:43 3078次 阅读
    【DFRobot Beetle ESP32-C3开发板试用体验】温湿度检测 + 超声波测距

    Loguru — 一个强大的 Python 日志工具

    Loguru 安装方式很简单,打开终端输入: [code]pip install loguru[/code]1、即开即用 在Loguru中,如果你需要输出 debug 日...
    发表于 06-22 15:27 678次 阅读