作者归档:admin

docker 编译micropython esp8266 添加PYthon模块

1.git 官方的micropython库(默认在root目录下执行)

git clone https://github.com/micropython/micropython.git

2.对需要的模块进行修改,在ports/esp8266/modules 文件下创建的python文件都会被编译到固件中(bbb.py 到时候引入 import bbb),若是文件夹 lis下的 a.py文件,到时候访问时 import lis.a

3.使用docker安装官方的镜像,进行编译(若第二步git在root下 ,那文件就是 root/micropython 即~/micropython)

DOCKER:

docker run -it --rm -v ~/micropython:$HOME -u $UID -w $PWD larsks/esp-open-sdk bash

进入docker的mpy编译系统之后

make -C mpy-cross

然后 转到ports/esp8266目录进行编译

$ cd ports/esp8266 #转到esp8266目录
$ make submodules #初始化模块
$ make -j BOARD=ESP8266_GENERIC
#进行交叉编译,保存到ports/esp8266下的build-ESP8266_GENERIC文件夹下的firmware.bin固件,若该文件夹存在,则无法编辑,可以先删除
$ exit
#退出docker的mpy编译界面

注意:

1.无法放入非python文件在modules中,modules中的文件无法使用open()去读取

2.若需要对不同esp8266进行编译(esp8266默认4MBFlash ESP01S为1MB 则需要设置)

#在执行make -j BOARD=ESP8266_GENERIC前先设置大小
$ make BOARD=ESP8266_GENERIC BOARD_VARIANT=FLASH_512K
#设置flash为512KB
$ make BOARD=ESP8266_GENERIC BOARD_VARIANT=FLASH_1M
#设置flash为1MB,esp01s编译mpy固件,请选择该语句设置。

全自动设置:

$ cd ~/micropython
#先设置到micropython目录下
$ docker run --rm -v $HOME:$HOME -u $UID -w $PWD larsks/esp-open-sdk make -C mpy-cross

$ cd ports/esp8266
$ docker run --rm -v $HOME:$HOME -u $UID -w $PWD larsks/esp-open-sdk make -j BOARD=ESP8266_GENERIC

Building with Docker

Once you have installed Docker, you can run all of the following build commands inside the Docker container by prefixing them with docker run --rm -v $HOME:$HOME -u $UID -w $PWD larsks/esp-open-sdk ...command.... This will automatically download the Docker image provided by @larsks which contains the full toolchain and SDK.

Then you need to compile the MicroPython cross-compiler (mpy-cross). From the root of this repository, run:$ docker run –rm -v $HOME:$HOME -u $UID -w $PWD larsks/esp-open-sdk make -C mpy-cross

Note: The mpy-cross binary will likely only work inside the Docker container. This will not be a problem if you’re only building ESP8266 firmware, but if you’re also working on other ports then you will need to recompile for your host when switching between ports. To avoid this, use the local toolchain instead.

Then to compile the ESP8266 firmware:

$ cd ports/esp8266
$ docker run --rm -v $HOME:$HOME -u $UID -w $PWD larsks/esp-open-sdk make -j BOARD=ESP8266_GENERIC

全自动设置

1.选择上传的python模块,记录下来,上传到对应的开发板【esp8266 esp32】的modules上面,并在数据库中标记,等待完成编译后删除

2.shell执行脚本

#esp8266为例子,micropython文件存放在root下【请删除ESP8266_GENERIC】
#! /bin/bash
cd ~/micropython
docker run --rm -v $HOME:$HOME -u $UID -w $PWD larsks/esp-open-sdk make -C mpy-cross
cd ports/esp8266
if [ ! -f "build-ESP8266_GENERIC" ];then
    echo "文件不存在,执行编译"
else
    rm -rf build-ESP8266_GENERIC
fi
docker run --rm -v $HOME:$HOME -u $UID -w $PWD larsks/esp-open-sdk make -j BOARD=ESP8266_GENERIC

笔记 摄影 二

《头发乱了也不影响你的美貌》
《真的很好》
《这是猪腰子鞋么》
《我今天体力不错》
《特别好看超级好看》
《第一次帮女生提包》
《你以为你有多重啊》
《是照片上的人好看》
《这个裙子叫什么啊》
《我也想经常给你拍了》
《嗯我还挺喜欢拍JK的》
《这腿比我家筷子都直》
《好看好看,很有气质》
《笑起来把我惊艳到了》
《我还挺喜欢拍汉服的》
《像电影里的场景一样》
《我感觉你们好有默契啊》
《我还挺喜欢拍洛丽塔的》
《我还挺喜欢拍连裤袜的》
《我觉得你两边脸都好看》
《你的美貌已经付过费了》
《我还挺喜欢拍猪腰子鞋的》
《感觉你的一顿一笑都很好看》
《你都不要我说了,这么上镜》
《你站在那儿就已经很好看了》
《两位,我觉得你们特别好看》
《像你们这么好看平时还P图么》
《上天不能同时给你美貌与智慧》
《你们是这个学校模特专业的么》
《洛丽塔是世界上最可爱的生物》
《感觉你的一举一动都很好看哦》
《我好久没拍过这么好看的人像了》
《你是我今天见过的最好看的女生》
《我不是在夸奖你,我是在描述你)
《你们俩坐在这里就很有电影感了》
《我感觉你长得好像专业的模特呀》
《感觉这里的美景就是为你塑造的》
《像你这么好看的我乱按快门就行了
《你是我今天拍过的最好看的女生》
《你一站在这里气体就变成了仙气》
《你刚奔跑的动作好像朝男朋友奔跑》
《我好久没有遇到这么上镜的小姐姐了》
《好看到,把我的心都融化了》
《我还以为像你们这么好看都不用 P 呢》
《你一出现在这里,我就知道我找对人了》
《我感觉今天把运气都用光了才遇见你们》
《感觉你站在那里很有一种山水画的意境》
《你好会摆动作啊,我感觉今天都不用带嘴了》
《你们感觉不到我社恐是因为你们太有亲和力了》
《我一走近才发现你们好漂亮啊,刚才都没看清》
《本来我是不会拍照的给你们拍照越来越自信了》
《今天给你拍完照之后,我命运的齿轮要开始转动了》
《只有你想到遇到我的时候,我们的相遇才会有意义》
《你太美好了,连雨水都忍不住透过云层亲吻你的脸颊》
《我感觉这边的一草一木都因为你们的存在透露着芬芳》
《因为我想把你们每一张都记录下来,所以我打算拍个视频》
《藏觉这颜值我都不需要用手按快门了,我用脚指头按快门都好看》
《这个风景是平平无奇,但是你但一在那里瞬问就有了高级感》
《我本来是风光摄影师的,因为你们把我都拍自信了,看来以后我要多拍人像》

笔记 摄影

《我的模特走丢了》

《我的模特消失了》

《我模特回家吃饭了》

《我的模特把我弄丢了》

《我今天出门没带模特》

《今天下雨我的模特把我鸽了》

《你们是这个学校模特专业的么》

《我注意你们很久了》

《两位,我觉得你们特别好看》

《我老远就看到你们了》

《我已经一周没有拍照了》

《就是你们可以让我拍两张么》

—–

挂载硬盘

fdisk -l 
#查看所有磁盘信息信息

lsblk 
#查看所有区块信息:-t 为树形图(显示未挂载的区块)

mkfs.xfs /dev/sdb1
#格式化磁盘/dev/sdb1

df -h
#查看目前磁盘信息 (在fdisk -l中不出现的,就是没有挂载)

df -hT
#查看目前磁盘信息 (在fdisk -l中不出现的,就是没有挂载)
#并且在下面显示所有的分区格式ext4



mkdir /mnt/data
#创建目录
mount /dev/sdb1 /mnt/data
#把/dev/sdb1设备磁盘 挂载到 /mnt/data目录

umount /mnt/data
#卸载该目录下的磁盘


开机自动挂载需要编辑文件/etc/fstab文件
vi /etc/fstab

文件内容

/dev/sdb1 /mnt/data ext4 defaults 0 0

#解释
/dev/sdb1
#磁盘设备
 /mnt/data
#挂载目录
ext4
#磁盘设备的分区格式
default
#默认参数(全部功能 读写 等)
0
#【dump备份时带入,0为不带入,1为使用dump时候加入备份】
0
#【开机检查顺序:0 不检查 1为boot系统文件 2其他文件】

mysql 数据库备份 zip smb

使用mysqldump,备份数据库,使用zip压缩打包,并赋予密码,再启用SMB,将文件发送到服务器;

需要安装smbclient

代码:

#!/bin/bash

newDate=$(date +%F)
mysqldump -uroot -ppassword fzjt >/home/zgs/$newDate.sql
zip -P password$newDate /home/zgs/$newDate.zip /home/zgs/$newDate.sql
rm /home/zgs/$newDate.sql
smbclient //172.16.21.165/db -c "cd/root;put /home/zgs/$newDate.zip $newDate.zip" -N

smbclient 最后那个-N 采用无用户名直接登入模式, -c为执行下面语句,使用put上传文件

password$newDate 解压密码为 password加日期信息

crontab来创建定时任务:

分钟 小时 日 月 周 命令

不足之处:使用smb的用户名登入;外加windows 创建一个可以登入的smb用户名