文章
记录
文化
加载
保存
删除
上传
删除
预览
<<>>
段落缩进
#[]()
target=_blank的链接

阿鲁第32号表情
![我是描述[80% x ]]()
宽度80%高度未设的图片
-(red: 文字)-
红色的文字
[html][/html]
直接插入HTML
[youtube][描述](https://)[/youtube]
youtube/bilibili视频
--标题-- 内容 -- --
field元素
阿鲁
小黄脸
### 效果展示 <<>>最近用#[electron](https://www.electronjs.org/)做了一个应用,用于在树莓派小屏上显示一些实时信息。主要是想学习使用`electron`。涉及到的工具:`electron`, `vue3`, `vite`, `flask`, `websocket`。 <<>>这是实际效果,买的树莓派屏幕很烂: ![截图[60% x ]](https://s4.ax1x.com/2022/02/24/biVFd1.gif) ![实机[60% x ]](https://s4.ax1x.com/2022/02/24/biVEi6.jpg) ### 制作过程 1. 第一步当然是做一个可拆卸可调节的支架了,之前买的热熔胶派上用场: ![自制支架[60% x ]](https://s4.ax1x.com/2022/02/21/HjrAIg.jpg) 2. 起一个electron项目,按照网上的教程,很简单,基本就是改一下`package.json`和`electron.js`。 3. 前后端代码也挺简单,开源在github: #[https://github.com/yunyuyuan/pi-desktop](https://github.com/yunyuyuan/pi-desktop)。有一个ignore掉的配置文件`./config.json`如下: ```json { "host": "127.0.0.1", "port": 9876, "caiyun_token": "彩云api的token", "todo-pwd": "密码,与todo list加密密码一致", "gh_token": "github token用于获取todolist" } ``` 4. 主要是如何把前后端都跑起来,我找到了个#[方法](https://stackoverflow.com/questions/32158738/python-on-electron-framework),在nodejs里运行python子进程,实测不行,我也没仔细研究。看到_package.json_里`electron:dev`有一个`concurrently -k "cross-env BROWSER=none yarn dev" "yarn electron"`貌似是运行多个进程,于是我把它改成`concurrently -k "py/venv/bin/python py/main.py" "cross-env BROWSER=none yarn dev" "yarn electron"`,先运行python后端,再运行前端,可以正常运行。 ### 其他 * cpu和ram信息使用#[pyembedded](https://pypi.org/project/pyembedded/)获取,websocket传输,1秒更新一次。 * 天气查询用的#[彩云api](https://open.caiyunapp.com/),5分钟更新一次。 * 待办事项还是用的github api,我专门用react写了一个网页#[https://info.halberd.cn/](https://info.halberd.cn/)去更新待办,树莓派每间隔一分钟获取一次最新待办,其实这里可以用github action,配合frp打洞(我有一台云服务器),实现更新待办后自动触发树莓派更新,不用轮询,就放个todo在那后面做吧。 * Todo list是用#[cryptojs](https://cryptojs.gitbook.io/docs/)加密的,虽然存在github上,但无需担心泄露。
输入密码
取消
确认