一个小台灯

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.20 给单片机添加protobuf——nanopb

日志——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',
    }
}

1、数据库相关:
Django数据库(SQlite)入门使用教程: https://blog.csdn.net/Gu_amber/article/details/122531578
manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。

settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。

urls.py ----- 负责把URL模式映射到应用程序。

在项目中,需要在一个实例中建立modes文件来链接数据库;
打开models.py 文件:添加:

from django.db import models

# Create your models here.

# 链接用户数据
class User(models.Model):
    s_PhoneNumber = models.CharField(default='',max_length=11)

参考以前的文章:
使用python建立一个网站:笔记4 操作django自带的数据库sqlite_田小呱的博客-CSDN博客
Django生成迁移文件No changes detected报错解决方法

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

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

参考:

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

————未完待续

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值