基于NodeMCU Lua V3的物联网开发日记Day2
突然发现我没有I²C设备,哭了,等买到了再写。
声明:本站所有分类为【教程】的文章、图片、代码等资源均仅供学习交流或非盈利性使用,不得以任何形式用于盈利性用途(CC BY-NC-SA)。本站引用/参考的所有资源均归原作者所有,遵照原作者License使用,本站仅进行引用/参考。感谢所有为开源的世界贡献力量的人们。
不管怎么说8,疫情确实很大程度推进了我国的信息化进程,后疫情时代下的办事效率明显提高很多
第零点五天(11.2-11.11)
- 最后一次做电赛了,没拿国奖还是挺遗憾的
- D题基于树莓派的网络测量摄像头复盘见附录链接(贡献者:HYJJJJJJJJ/LZJ/星夜)
- 时间基本都花在电赛上,没做什么其他的东西
- 待办:看了挺多论文,下周该写一篇文献综述
附录1:还没写完呢,再等等
附录2:还没写完呢,再等等
第零天(10.30-11.1)
- 往返学校收集资料、采购元器件
- 打牌
- 打牌
- 打牌
第负一天
终于还是走到日记这一步了,逼迫自己做点什么东西什么的
虽然这个东西已经想好久了(指新建文件夹),资料也一直在找,不过总归是没有实质性的工作进展。
那么决定从今天开始整理每天的工作/学习进度,尽力做到每一天都有进展/收获。
别再每天都胡适之打牌了。
必要性废话,以上。
接下来每天的工作内容都会详细地记录(同时也防止一星期后自己看不懂屎山代码)。反正小站没人看,看也看不懂,也不用担心什么技术细节泄露(你有技术吗)。
- 今天的主要任务是明确作为毕设的气象站的功能
- 待办:还得找一趟帆哥问需求
- 具体功能:
- 采集哪些物理信息有待确定
- 具有与服务器通讯的能力(暂定方案esp8266)
- 建立一个数据库以存储各气象站历史信息
- 深度学习?待定
- 总之就是问题还有一大堆,这几天先试着写一下解析数据包并存入数据库的程序吧
- 待办:装ZEMAX没有成功捏,明天装13版吧,还有lighttools
- 十二月份之前画好灯的电路
图片测试
测试图片上传

测试图片上传
世界,您好!
欢迎使用WordPress。这是您的第一篇文章。编辑或删除它,然后开始写作吧!
物联网开发日记Day3
好久没推进度了,我自裁。
今天搞一下服务器(CentOS)上的MQTT服务端(mosquitto)。以及PC端(Win)、MCU(NodeMCU)的MQTT客户端,用于验证服务可用性。
- 服务端
- 安装
- 从mosquitto官网下载tar.gz文件。
- 或 wget https://mosquitto.org/files/source/mosquitto-2.0.14.tar.gz 。
- 键入 tar -xzvf mosquitto-2.0.14.tar.gz 以解压文件。
- 键入 cd mosquitto-2.0.14 打开文件夹。
- 键入 make 执行预编译,若无报错则键入 make install 安装。
- 此处可能有如下Error。
- 原因是缺少cJSON库,解决方法如下
- 打开 /usr/local/ 。
- 键入 wget https://github.com/DaveGamble/cJSON/archive/refs/tags/v1.7.15.tar.gz 下载cJSON库到当前文件夹。
- 键入 tar -xzvf v1.7.15.tar.gz 解压。
- 键入 cd cJSON-1.7.15 打开文件夹,键入 make 执行预编译,键入 make install 安装。
- 回到 cd mosquitto-2.0.14/ ,键入 make 再次执行预编译。无报错,键入 make install 安装。安装完成。
- 安装
- PC客户端
- MCU客户端
参考:
Linux搭建MQTT服务器(mosquitto)并使用
Centos7安装Mosquitto服务
声明:本站所有分类为【教程】的文章、图片、代码等资源均仅供学习交流或非盈利性使用,不得以任何形式用于盈利性用途(CC BY-NC-SA)。本站引用/参考的所有资源均归原作者所有,遵照原作者License使用,本站仅进行引用/参考。感谢所有为开源的世界贡献力量的人们。
基于NodeMCU Lua V3的物联网开发日记Day1
- 安装驱动:首先给电脑安装相应的驱动(CH340/CP210x),具体USB转TTL芯片型号请自行询问开发板卖家。
- 查看端口:将NodeMCU Lua V3开发板用数据线连接到电脑,打开设备管理器,记下芯片所对应的端口号(COMx)。
- 下载固件:打开MicroPython官网,选择最新的Releases下载(普通版本或者OTA兼容皆可)。
- 烧录固件:打开下载好的烧录工具,按照安信可官方的说明配置烧录工具,将第三步下载好的固件烧写进开发板的0x000位置。稍等一段时间,直到工具显示完成。
- 上电测试:将开发板连接到电脑,打开串口通信软件(VOFA+或PuTTY),将波特率设置为115200,数据流控和校验位设为none,数据位为8,停止位为1。
- VOFA+:设置如图
- 设置完成后点击
,打开串口通信,双击流控信号RTS,或按下开发板上的RST(Reset)键给开发板复位。
- 等待开发板启动,按照提示,在通信窗口输入
help()
并发送,如图正常得到反馈,验证完成。
- 设置完成后点击
- PuTTY:配置如图
- 配置完成后点击open,打开会话窗口,按下开发板上的RST(Reset)键将开发板复位。
- 等待开发板启动,按照提示,在通信窗口输入
help()
并发送,如图正常得到反馈,验证完成。
- VOFA+:设置如图
- 验证Wi-Fi连接功能:
- 准备一个2.4GHz的无线局域网,依次在串口工具内键入以下命令,其中<AP_name>和<password>分别替换成Wi-Fi的SSID和密码。
- import network
- sta_if = network.WLAN(network.STA_IF); sta_if.active(True)
- sta_if.scan() # Scan for available access points
- sta_if.connect(“<AP_name>”, “<password>”) # Connect to an AP
- sta_if.isconnected() # Check for successful connection
- 若运行最后一条返回了True则可验证Wi-Fi连接功能正常。
- 准备一个2.4GHz的无线局域网,依次在串口工具内键入以下命令,其中<AP_name>和<password>分别替换成Wi-Fi的SSID和密码。
- 传入要运行的程序文件:
- 将开发板连上电脑,打开串口通信软件,将开发板复位。
- 向串口发送
import webrepl_setup
,按照提示信息设置四位以上的密码。 - 发送
import webrepl
启动WebREPL,可以实现电脑和开发板在同局域网下的文件传输功能。
webrepl.start() - 从github上的micropython/webrepl下载WebREPL客户端,打开压缩包中的webrepl.html文件。
- 查看串口软件中输出的IP。
- 将IP替换入打开的webrepl客户端中,点击Connect并输入密码,即可建立连接。
- 在客户端中输入
os.listdir()
可以得到主目录下的文件列表,在下方Get a file窗口可以下载列表中的文件。Send a file窗口可以发送电脑上的文件。 - 将写好的要运行的主程序命名为main.py,通过webrepl传入,开发板在上电启动之后会首先运行boot.py,之后运行main.py。将开发板复位,即可实现程序运行。
参考:
【ESP8266】基于ESP8266的MicroPython入门笔记
为NodeMCU刷入MicroPython固件
声明:本站所有分类为【教程】的文章、图片、代码等资源均仅供学习交流或非盈利性使用,不得以任何形式用于盈利性用途(CC BY-NC-SA)。本站引用/参考的所有资源均归原作者所有,遵照原作者License使用,本站仅进行引用/参考。感谢所有为开源的世界贡献力量的人们。
Python socket与ssl库的有效性
import socket
import ssl
#有效代码
s = ssl.wrap_socket(socket.socket())
s.connect(('www.stellarisdream.cn', 443))
#报400Error
#s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#s.connect(('www.stellarisdream.cn', 443))
暂未找到合理解释,待更新
Python发起网络请求 返回并打印主页内容
import socket
import ssl
s = ssl.wrap_socket(socket.socket())
s.connect(('www.stellarisdream.cn', 443))
s.send(b'GET / HTTP/1.1\r\nHost:www.stellarisdream.cn\r\nConnection:close\r\n\r\n')
buffer = []
while True:
d = s.recv(1024)
if d:
buffer.append(d)
else:
break
data = b''.join(buffer)
s.close()
header, html = data.split(b'\r\n\r\n', 1)
print(header.decode('utf-8'))
with open('stella.html', 'wb') as f:
f.write(html)