惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
aimingoo的专栏
aimingoo的专栏
F
Fortinet All Blogs
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
The Cloudflare Blog
量子位
T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
MyScale Blog
MyScale Blog
T
The Blog of Author Tim Ferriss
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
D
DataBreaches.Net
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
U
Unit 42
博客园 - 聂微东
有赞技术团队
有赞技术团队
A
About on SuperTechFans

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟
公共树莓派案例: 树莓派守护者!
种瓜 · 2021-09-01 · via 夜行人

文章目录

在一个线下公共空间里,放置一些计算设备,参与者在这个环境里,用编程表达自己的想法,构建自己感兴趣的项目。大家的探索过程和成果都置于公共视野,想法和经验持续流动,彼此启发,就像 Scratch 线上社区。 – 《公共树莓派》

本文是 《公共树莓派》 的第一个案例。

树莓派守护者!

树莓派守护者是我在2016年做的一个项目。 那时刚玩树莓派不久。

树莓派守护者! 的想法是: 使用树莓派 + 超声波传感器,构建一个小偷报警器,解决我童年时候遇到的一个问题:

老板说自己早便发现他们入室盗窃,为了证据确凿,设计了一套精巧的陷阱:在柜台入口,近地面处系一根绳子,绳子一直连到老板睡觉的卧室,在卧室里系上易拉罐。少年们再次登门,触发开关,弄倒老板卧室的易拉罐,老板醒后,有备而来,少年们毫无知觉,来个瓮中捉鳖. – 树莓派守护者!

我觉得这计划稍有不足:

有一处不够优美:报警器竟是绳子做的!如果少年们更警觉些,看到绳子,或是踩到之后便逃离,老板恐怕要竹篮打水一场空。

我想用树莓派作为解决方案:

将超声波传感器(或者红外线)放在柜台下边,当有人路过时,树莓派给老板手机发送一条短信(或邮件),这个隐形的卫士几乎没有破绽

后来我发现,这装置可以用来守护私密空间: 当树莓派检测到有人进入房间,给电脑发送信号,将屏幕切换到阅读状态。

在公共树莓派中构建它

我在公共树莓派中构建的这个项目,希望能通过这些项目分享我的经验,并希望团队成员能 remix 它,去构建自己的项目。

也想借此分享我喜欢怎样使用树莓派(Linux).

整个项目在一个 notebook:distance.ipynb里, 在局域网里打开树莓派的 jupyterlab 地址,就可以发现并运行这个项目,当然也可以通过 SSH/VNC 进入树莓派运行它。

项目的开头使用 markdown 对项目做了基本描述:从想法的来源到使用到的核心库。

今早,我给团队成员分享我的这个项目,演示完抓小偷的功能,我邀请大家进入 jupyterlab 里与我结对编程,通过修改 notify 函数,将通知推送给自己。

接下来演示了如何使用 git 管理这个项目,以及如何将 jupyterlab 当作主要的编程环境: 文件上传与管理以及系统管理(terminal)都可以在 jupyterlab 里完成。

分享结束之后大家各自都有想实现的新想法,并希望我给出进一步学习 Git/Linux 的新资料,我把它们放在了这里

小结

项目中的好几个部分是通用的:

  • 展示树莓派社区最好的GPIO驱动的用法,用于与各类传感器交互
  • 展示如何推送通知(展示了2种方式),这在大多数项目中都很有用
  • 展示如何在 jupyterlab 中使用 terminal
    • 在terminal里使用 ngrok 将 jupyterlab 投射到公网
  • 分享到 Github: Public_RPI_PBL
    • 使用 Git 做版本管理
    • 使用项目wiki写博客
  • 讨论了开机自启的思路(暂未实现)

大家的热情是超出我的预期的,几乎每个人都觉着过去这些令人生畏的东西非常有意思。

我们希望这个公共计算空间随着时间的演进,会持续产生新项目新想法,彼此启发与混合。

就像你家阳台的花盆里所发生的事情。

参考