ESP32 + Microdot + uPy-uasyncio

2022-11-12 作者:

基于ESP32和micropython制作的家用温湿度计原型机。可通过网页控制GPIO和OLED显示,为HA等其他服务提供访问环境传感器的实时数据API。使用uasyncio的协程实现非抢占式的异步多任务控制,估测效果应该不如基于C的RTOS,但胜在代码量小,写起来简单吧。

This ESP32 and micropython-uasyncio based indoor ambient sensors are basically working as expected, with web-controlled OLED display, and a quite simple http api for other services like home assistant to query the realtime data. The multitasking runs on non-preempt Python coroutine, which is theoretically incompetent against those C + RTOS stuff, but it wins on simplicity from my point of view, so far at least.

Hardware components:

  • NodeMCU (ESP32-WROOM-32E)
  • 1.3 inch OLED (SH1106, SPI/I2C, 128×64)
  • BME280 sensor (ambient temperature, relative humidity, barometric pressure)

Software libs:

  • Micropython 1.19.1 (for ESP32)
  • Microdot (minimalistic Python web framework which supports uasyncio)
  • Driver libs of all hardware components.

完整阅读本篇»

HAOS集成和风天气

2022-09-27 作者:

室内搞完了,室外就别搞传感器了,直接走api拉数据。

系统默认集成的OpenWeather和AccuWeather都不太靠谱,前者填了api key后报无效,后者是数据离实际差距大+免费api次数不够用,最后还得自己搞国内的天气服务API。

注册了高德、和风两家,后者虽然没有前者的品牌,但毕竟数据种类更齐全,用来练手是不错的。

效果如下:

至于怎么安装,其实什么插件都不用装,直接File Editor插件编写 /config/configuration.yaml ,保存无误后,重启服务即可。

【注】重启服务,只需要“配置”->“系统”->“重新启动”。这个过程很快,30s搞定。不需要重启整个HAOS的vm或者物理机,那个时间要长很多。

要写什么内容呢?

完整阅读本篇»

无他,坐看云卷云舒

2022-08-27 作者:

疫情使然,半年多没出门,一走就是一趟广州。好在小伙伴配合给力,23号赶在台风到来前及时收工。

好家伙,这滑行路线,也算白云机场一日游了。

本想选一台国航747的,毕竟上次乘747还是15年前my 1st flight,感觉多少有点personal relationship。但看当天的B-2480机龄较新(10年内),不是上古的30年机,情怀因素就很少了。更为关键的是,CA要飞首都,一想延时三件套(更长航路+远机位/摆渡车+回家暴堵),不免连连摇头。

乱入的南航787,印象上次乘坐应该是疫情之前,厦航某地至烟台的B787。电致变色舷窗玻璃,着实有那么点儿Dream Liner的味道。

最后就是这台本以为中规中矩的A321 neo,但年仅半岁的她却带给我一趟意外美好的赏云之旅。

锃光瓦亮pylon下吊着一台崭新的LEAP-1A33,那种未经岁月摧残的簇新体验,感觉也不错。

完整阅读本篇»

METAR BCFG是团雾么?

2021-12-11 作者:

看下今天傍晚ZBAD的清一色“备降”,目的地基本是天津滨海(ZBTJ)和济南遥墙(ZSJN)。

看一眼原因,特情是天气警报,主导能见度150米……

这就好玩了,距离只有30km的我们,窗外视野异常的好,甚至依稀看到几颗星星。

回溯一下METAR信息,很有意思。

完整阅读本篇»

贼东航迫吾行高铁,贯秦岭奋笔书耳恙

2021-07-13 作者:

7日MU6601晚点3小时,导致全家老少到酒店已经是凌晨4点,作为技术从业者,咱认同天气是不可抗力,忍了;结果11日回程MU6642再次以天气(传说中的北方暴雨)为由在凌晨2点取消并由携程电话轰炸,把5岁孩子吵醒不说,好歹提醒我来个惊魂2小时,在天亮前订上西安中转高铁。

结果第二天同方向航班,早班午班都正常起飞,延误的都没几个(且是前序问题)… 让我真心看透了东航的恶劣本质,至今贵司自己连个电话都没。

我要告诉你们南城群众是入夜(刚过夏至没几天吧?)才见到雨点,你这地咋洗?航路天气贵司手里的信息,总比我一介围观群众手里的Windy App免费版准确吧?

打算推诿机械故障?

拜托,11日1:50am才拐进ZBAD 11L跑道左侧机坪,2:07am我就收到携程的取消通知,除非最后一趟航程有风险汇报,抑或机组执勤时间问题… 理由都给你找好了,来洗吧。

在西成高铁(成都 – 西安方向),全家安顿后,本想写篇长文,带FR24和航旅纵横截图(有关那台A330 注册号B-6642),夹叙夹议给东航来一番血泪控诉… 彼时高铁行经秦岭地区隧道,突然我感受到明显耳朵胀痛。

打开导航想了解自己位置,无奈隧道太长,GPS无法收星定位。

截图很晚,因为最终离开密集的隧道区。

在隧道里晃悠时,耳朵有明显胀痛感,比飞机升/降阶段强烈不少。于是打开手表测气压,同时GPS经纬度和GPS高度因收星困难无法显示。

没关系,我们可以根据气压计算高度。

完整阅读本篇»

如何用一张照片推测距离(高度)

2021-04-22 作者:

一早送娃上学回家,常去的论坛看到这么一个帖子。嗯,好玩!我要试试。


然后原图是这样的,回帖里头已经有人提到了EXIF信息说手机iPhone 6S,焦距4mm。

那我也得看看EXIF,浏览器带插件的话,可以直接显示,不带的话,下载后用Win和MacOS都很容易查看。

首先,照片拍摄时间 2020-08-08 09:13:19,白云机场当天当时天气:

完整阅读本篇»