一个小台灯
创始人
2024-04-09 14:07:54
0

22年11月填旧坑

项目地址:myhome: 服务器终端和微信小程序 (gitee.com)

物联网台灯小项目——ILamp

1、主要硬件,STM32,ESP8266;

2、3D打印的外壳,淘宝金属灯杆、灯罩、配重块;

3、喷涂了白色油漆外观,颜值8/10;

4、小程序+web后台。

5、台灯mqtt连接到服务器。服务器使用mosquitto,搭配python的django转发台灯的状态和控制给微信小程序。用户使用微信小程序和台灯交互;

6、一个电容触摸开关;

7、提供三个USB接口的USB HUB;

8、共3块PCB;

9、添加protobuf协议;

10、提供一个光敏电阻,还未开发;

在这里插入图片描述

在这里插入图片描述

硬件

主控:STM32F042F4P6

联网:ESP-12S

稳压:RT9013-33GB

DC:LM2596S-3.3

灯珠:80~90Lm LED 冷暖光两种

日志——22.11.18

目前进度:

1、解决台灯触摸误触问题;

2、台灯联网运行一段时间后MQTT连接数据异常问题;

3、微信小程序实现用户注册、设备联网、引导添加设备、不同设备的不同控制协议;

4、后台需要实现用户数据库(用户信息,设备信息)、web前端、后台管理;

日志——22.11.18 微信你小程序绑定用户和设备

问题:设备初始化时需要联网,需要知道自己和哪一个用户ID绑定

拓展:可以使用ESP8266的AP模式,即ESP8266模拟一个WIFI,手机连接到WIFI后使用TCP Scoket进行通信。

参考:3、ESP8266入门(AT模式)——手机与ESP8266通信(AP模式)_haichuangdianzi的博客-CSDN博客_esp8266与手机通信

1、用户首次开机,单片机查找flash标志位,是初次使用,进入激活程序;

2、激活程序下面将ESP8266设置成AP模式,开放wifi和192.168.4.1的5050端口;

3、手机打开wifi连接到esp8266,然后使用微信提供的tcp接口连接到指定的IP端口,实现通信;

参考:TCPSocket | 微信开放文档 (qq.com) 以及 微信小程序创建tcp连接 - 简书 (jianshu.com)

4、通信时,不可以退出微信小程序,使用离线下的模式来将数据发送给ESP8266完成激活;

5、如果防呆模式激活,用户不需要操作数据,一键激活。

日志——22.11.18 后端记录用户数据

问题:解决用户注册登录,Django需要将用户数据存储起来并且将设备和用户绑定起来

1、这里可以使用Django自带的数据库即可,不需要多复杂;Django自带的数据是sqlite3;

在Django的setting.py文件中已经做好了设置:

DATABASES = {'default': {'ENGINE': 'django.db.backends.sqlite3','NAME': BASE_DIR / 'db.sqlite3',}
}

参考以前的文章:使用python建立一个网站:笔记4 操作django自带的数据库sqlite_田小呱的博客-CSDN博客

日志——22.11.18 protobuf数据传输和存储

问题:单片机的用户数据等信息保存在flash上,保存数据的格式使用protobuf,传输数据的结构也使用protobuf格式

参考:

python中使用 protocol buffer(Protobuf)_whatday的博客-CSDN博客

————未完待续

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...