分类 科学 的文章

利用 文件变动监测 并通过ssh同步到树莓派

使用场景
通常 开发linux 应用 相信大家基本都使用win编辑 linux 编译运行的方式,针对 samba 或ftp 的不稳定 掉线了重连或安装的麻烦 故开发了这个简单的方式来同步文件加速开发,减少环境搭建工作量
使用时 ,只需要复制这四个文件到代码上级目录 拖动 auto.cmd 到 FileMonitor2.0.exe 即可,不要关掉,就可以开始撸码事宜。sshfile.exe 当然可以换成 ftp.exe 脚本 或 cp 脚本 post脚本 等等等等。。。。。只需要修改 auto.cmd 非常方便
微信截图_20200703174051.png
auto.cmd这样写

SET read=%1
SET send=%2
sshfile.exe 192.168.0.107 22 pi raspberry %read% /home/pi/work/Linux_Cpp/xiaoluo/%send%

参数1 和参数2 是匹配正反斜杠用,根据不同系统 修改脚本调用不同参数
运行的逻辑
微信截图_20200703180749.png

下载点击下面

raspberry.zip

Python中字符串与字节之间相互转换

Python中字符串与字节之间相互转换

a = b"Hello, world!" # bytes object
b = "Hello, world!" # str object

字符串转字节 str --> bytes

字符串转字节 str --> bytes

print(str.encode(b)) # 默认 encoding="utf-8"
print(bytes(b, encoding="utf8"))
print(b.encode()) # 默认 encoding="utf-8"

字节转字符串 bytes --> str
​# 字节转字符串 bytes --> str
print(bytes.decode(a)) # 默认encoding="utf-8"
print(str(a, encoding="utf-8"))
print(a.decode()) # 默认 encoding="utf-8"

树莓派4 烧录后 使能串口登陆 和 wifi 配置

使能串口登陆:烧录系统的sd卡插入读卡器 插入电脑 修改boot 分区下面的config.txt 文件 最后一行增加
dtoverlay=pi3-miniuart-bt
WiFi配置:
依然在boot位置 新建文件wpa_supplicant.conf 填充下面内容

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=GB

network={
        ssid="xxxxxx"
        psk="xxxxxxxxxx"
        key_mgmt=WPA-PSK
}

重启就可以
微信截图_20200617175244.png
新的系统很简洁 开机日志只有几行,没废话

Mesh APP配置 Step by step指南

一、 Mesh组网图
组网图如下,一般需要部署2种节点(Node): proxy和普通Node,其中,proxy Node需与手机APP建立连接,通过GATT bearer发送控制命令。Proxy Node与普通Node,Node之间通过Advertisement bearer传播控制命令及其它信息。
1.png

最简单的mesh灯控系统采用Generic OnOff model,系统需要配置2种节点:开关Switch(Generic OnOff model client)和灯Light(Generic OnOff model Server)。Switch用于发送开关命令,Light接收命令后控制灯的开和关。

二、 Mesh节点配置步骤
每个节点未接入mesh network之前,都是Unprovison Node,需要配置后才能使用,配置过程如下:(使用Silicon Lab发布的手机应用, https://cn.silabs.com/products/development-tools/software/bluetooth-low-energy/mobile-apps/ble-mesh,注意需要安装Android 6.0以上版本)
Step 0. Enable手机的蓝牙和定位功能
Step 1. 建立网络组,比如,本例中建立了一个”Demo Network”组

2.png

Step 2. Provision & configure
启动APP后,选中PROVISION标签页(a),点击右上角的”SCAN”,可以搜索到周边的Mesh Node; 点击mesh图标(b),开始对该结点provision,APP会建立连接;连接上后,弹出对话框,配置设备名(Device Name),并选择网络组后,点击”PROVISION”按键(c)。
3.png
4.png
5.png
APP完成对mesh node的provision后,弹出节点配置对话框,对于Generic OnOff mode,Functionality可以配置成On/Off(灯)和On/Off Control(开关)两种类型
6.png

7.png
这里:
Device Name: 自定,一般选有意义的名字
Proxy: 如果打开proxy feature,则选择ON,否则选OFF
Relay: 如果打开Relay feature,则选择ON,否则选OFF
Functionality:对于Generic OnOff mode,Functionality可以配置成On/Off(灯)和On/Off Control(开关)两种类型
Group:mesh group

Step 3. 通过点击switch图标,可以控制灯的开关,也可以单独点每个灯的图标,控制开关。(注意如果没有proxy,则只能通过CLI命令控制开关)

8.png
9.png
Step 4. 配置完成后, 点击手机”Back”按键,退回上一个页面,则APP断开与当前节点的的连接。然后可以继续连接下一个节点进行step2-3过程