|
传感器Cooper v3.2 -Medialab_ LPWAN:LORA超声传感器,用于测量San Miguel的Creek水位
供电
为了纪念Medialab_ lpwan中的Medialab_ lpwan中的Martin Cooper,2009年Princesa de Asturias奖和Arlene Harris及其对IOP的IOP愿景,我们想开发一种物联网设备,该设备可以提高Gijón工程技术学院的质量。结果,Cooper传感器的想法是作为Lora设备,可以与Things Network同步,可以衡量San Miguel的Creek的水位,而无需任何救助。

使用这些传感器,目的是监视大雨季节在主建筑物中发生洪水的可能性。具体而言,在2018年,发生了一场重大洪水,使许多较低楼层的许多昂贵设备转向了许多较低的楼层,这些设备在许多子季节的实验室实践中使用:



在此存储库中,您会发现所有的文件和教学指南,以充分理解,甚至夺取创造性的自由来改善该项目。文件夹和文件已得到一个自称的名称,以使导航更加直觉。
主要功能↩️
使用lilygo lora32 OLED v2.1_1.6(基于ESP32的董事会具有内置的Lora功能,支持太阳能充电和电池管理)开发

JSN-SR04T(超声距离传感器)进行的更改

警告
该传感器对身体干扰极为敏感。确保将其垂直于超声梁弹跳的表面完全对齐,并且还介意具有直接视力
动态数据传输速率实现:发送间隔在20到40分钟之间动态更改其值,具体取决于典型的偏差与发送到Things Network的最新5个距离(由OTAA; File payload_formatter.json是关于如何解释发送字节的建议)

自定义PCB

提示
考虑使用女性销连接器焊接,以便可以简单地插入电子组件并插入维修,并插入插头
定制外壳以最有效的方式适合所有元素(容器 +太阳能电池板持有器 + USB保护器)



集会示例:

警告
建议使用透明的PETG 3D打印丝来生存太阳辐射和塑性变形。 O形圈也是固定和稳定铃铛内部传感器的好选择。需要四个M3螺钉来固定组件
以下列表列举了该项目研究过程中涉及的所有任务,如果严格完成了这些任务:
- Some pins are conflictive due to poor manufacturer documentation, so testing is still being
- carried out 完全了解传感器工作模式和替代模式
传感器代码实现
LORA代码实现
低功率代码实施
低功率硬件组件
- A transistor is being tried to be implemented so the sensor can be powered-on from the
- board's 5V pin and powered-off when going to deep slee, but it is getting tricky 
晶体管电示意图
- As low power hardware has not been fully implemented, PCB has to wait 外壳3D建模
数据可视化应用程序
组件列表↩️
| 成分 | 模型 |
|---|---|
| 开发模块 | Lilygo Lora32 OLED v2.1_1.6 |
| 距离传感器 | JSN-SR04T |
| N通道MOSFET | IRF540N |
| 电阻 | 2K2 |
| 电池 | 18650 |
| 太阳能电池板 | SYP-S0606 |
| PCB | 自定义(包括文件) |
| 住房 | 自定义(包括文件) |
连接列表↩️
| JSN-SR04T | 晶体管 | 电阻 | 18650盾牌 | SYP-S0606 | 莉莉戈 |
|---|---|---|---|---|---|
trigger | - | - | - | - | 13 |
echo | - | - | - | - | 12 |
5v | S | - | - | - | - |
GND | - | indifferent | - | - | GND |
| - | G | indifferent | - | - | 15 |
| - | D | - | - | - | 5V |
| - | - | - | USB-In | USB-Out | - |
| - | - | - | USB-Out | - | USB-In |
素描看起来以下方式:

警告
上面草图中使用的板模型是TTGO T3 V1.3,但PIN编号与v2.1_1.6上的PIN号相对应
流程图(简化!)↩️
图TD;
一个[打开] - > | 1 | b(如果睡眠深度睡觉,请醒来)
B-> | 2 | C(获得距离和电池测量)
C-> | 3 | D(发送到TTN的字节)
D-> | 4 | E(时间数据传输速率)
E-> | 5 | f(去深度睡眠)
F-> | 6 | b
在本节中,简要说明了如何在medialablpwan/lorawaterlevelmonitoring/main/中分发代码的简要说明,该代码可用并准备闪烁或编辑:
main.ino /*
Definition of global functions
Variables to be stored in the RTC memory
'setup()' and 'loop()' functions
*/sensor.ino /*
Functions and variables needed to make a sensor work
*/ddc.ino /*
Functions and variables for the implementation of the dynamic data transfer rate
*/sleep.ino /*
Functions to activate ESP32's deep sleep mode
*/ttn.ino /*
Functions from LMIC library
*/configuration.h /*
Sensor macros and boolean toggles
*/credentials.h /*
OTAA keys for TTN synchronization
*/lmic_project_config.h /*
LoRa frequency band and radio chip selector
*/在代码本身中给出了更深入的分析,因为评论说明了每个函数的作用。
提示
要编辑的最configuration.h的文件是sensor.ino 。
警告
如果实现I2C I/O,则可能需要其他代码。使它们起作用的功能在TTGO-PAXCOUNTER-LoRa32-V2.1-TTN/main/main.ino中的原始项目中
LILYGO董事会库(粘贴链接在Preferences选项卡上,然后选择TTGO LoRa32 OLED作为arduino iDe的Board ):https://github.com/xinyuan-lilygo/lilygo-lilygo/lilygo-lora-series/blob/blob/master/master/master/boards/boards/boards/t3_s3_s3_s3_v1_jv1_js3_v1_js.js3_v1_jjs.jsson
LMIC(复制项目文件的内容main/lmic_project_config.h to库文件arduino-lmic/project_config/lmic_project_config.h ,并为您所在地区提供适当的频率。草图确实始终查看配置的区域的图书馆文件夹!
QuickMedianlib(获得更多固定距离值):https://github.com/luisllamasbinaburo/arduino-quickmedian
ESP睡眠(减少电池消耗):https://github.com/pycom/pycom/pycom-esp-idf/blob/master/master/components/esp32/include/esp_sleep.h
笔记
其他图书馆,例如SPI库,很容易从Arduino IDE下载
部署实验↩️
第一个单元已在Gijón工程理工学院附近部署:



http://4f566df1fed52c6e7fd5f661f64ae3eb.balena-devices.com:8080/d/vjhqnczgz/sensors-jsn-jsn-jsr04t-arroyo-arroyo-de-san-san-san-san-miguel?from?from=now-now-24h&orgid=.tocutcous
许可证↩️
该项目是根据GPL-3.0许可证获得许可的。包含来自rwanrooy/ttgo-paxcounter-lora32-v2.1-ttn的代码
联系↩️
重要的
我们会回答疑问并阅读建议:
有关我们活动的更多信息:
作者:DanielRodríguezMoya,ÓscarGijón,RamónRubio和Medialab_ LPWAN工作组
关于如何部署Grafana面板的说明是在Repo medialablpwan/documentacion上给出的。 ↩