电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>HaBeeBee蜂巢监控系统开源分享

HaBeeBee蜂巢监控系统开源分享

2023-07-12 | zip | 2.44 MB | 次下载 | 免费

资料介绍

描述

介绍

蜜蜂是环境中重要的授粉昆虫,但它们面临许多可能影响其健康和生存的危险。蜜蜂可能面临:

  • 捕食者:某些动物种类可能会攻击或突袭蜂巢以寻找食物。
  • 蜂巢盗窃:有时养蜂人发现他们的蜂巢被盗。
  • 杀虫剂:它们对蜜蜂可能是危险的,因为它们可以杀死或削弱以花为食的昆虫。
  • 环境:它们可能会受到许多环境因素的影响,例如温度和湿度波动以及空气污染。

重要的是采取措施保护蜜蜂并确保其长期生存。因此,我们提出了一个使用微控制器传感器的监控系统,可以帮助养蜂人更好地了解和保护他们的蜂箱。

该系统由不同的传感器组成:

  • 湿度/温度 DHT22 x2
  • 温度 DS18B20 x2
  • 重量 HX711 x1
  • 光照强度 SEN0291 x1
  • 声音x1

它由电池和太阳能电池板组成。该设备还包含一个 LiPo Rider Pro 卡,可以连接两个组件,使其能源自给自足。

系统设置

传感器

首先,每个组件都经过单独测试,以验证其功能是否正常。为实现此步骤,使用了原型板、微控制器和传感器。有必要将传感器的特定代码放入微控制器中。

poYBAGPXV7uAfESNAAHURCN0Qb4547.png
DHT22温湿度传感器测试接线图
 

必须对所有传感器(DS18B20、HX711、SEN0291)执行相同的操作。这些传感器的连接和测试,请参考描述中的组件链接。

全部测试完后,我们做了一个通用的代码,可以同时拥有所有的信息(我们的在文末有说明)

麦克风

为了研究蜜蜂的行为,我们不得不放大麦克风的信号您必须按照原理图使用 MAX4468 音频放大器(您可以在互联网上找到该组件的文档)。

pYYBAGPXV72AYXW_AABWGYLcsuw550.png
 

您必须首先在原型板上进行测试并检查示波器上的信号以验证功能是否正常。但是,可能会有很多噪音,这是显而易见的。因此,您必须打印音频电路的 PCB 才能获得正确的结果。

数据传输

然后,LoRa-E5模块用于无线传输数据。此信息被发送到服务器 (TTN),服务器 (TTN) 将其发送到云 (Ubidots)。云允许在图表上可视化数据。要使用该模块并将数据发送到服务器,请转到以下链接:https ://wiki.seeedstudio.com/Grove_LoRa_E5_New_Version/

最后,将TTN服务器与ubidots链接,参考这个链接:https ://help.ubidots.com/en/articles/5096476-plugins-connect-the-things-stack-to-ubidots

一旦在 Ubidots 上,为了执行我们的代码,我们将不得不创建不同的变量并在插件部分的解码器部分编写下面的代码。

function format_payload(args){
var ubidots_payload = {};
// Log received data for debugging purposes:
// console.log(JSON.stringify(args));
// Get RSSI and SNR variables using gateways data:
var gateways = args['uplink_message']['rx_metadata'];
for (const i in gateways) {
// Get gateway EUI and name
var gw = gateways[i];
var gw_eui = gw['gateway_ids']['eui'];
var gw_id = gw['gateway_ids']['gateway_id'];
// Build RSSI and SNR variables
ubidots_payload['rssi-' + gw_id] = {
"value": gw['rssi'],
"context": {
"channel_index": gw['channel_index'],
"channel_rssi": gw['channel_rssi'],
"gw_eui": gw_eui,
"gw_id": gw_id,
"uplink_token": gw['uplink_token']
}
}
ubidots_payload['snr-' + gw_id] = gw['snr'];
}
// Get Fcnt and Port variables:
ubidots_payload['f_cnt'] = args['uplink_message']['f_cnt'];
ubidots_payload['f_port'] = args['uplink_message']['f_port'];
// Get uplink's timestamp
ubidots_payload['timestamp'] = new Date(args['uplink_message']['received_at']).getTime();
// If you're already decoding in TTS using payload formatters,
// then uncomment the following line to use "uplink_message.decoded_payload".
// PROTIP: Make sure the incoming decoded payload is an Ubidots-compatible JSON (See https://ubidots.com/docs/hw/#sending-data)
// var decoded_payload = args['uplink_message']['decoded_payload'];
// By default, this plugin uses "uplink_message.frm_payload" and sends it to the decoding function "decodeUplink".
// For more vendor-specific decoders, check out https://github.com/TheThingsNetwork/lorawan-devices/tree/master/vendor
let bytes =  Buffer.from(args['uplink_message']['frm_payload'], 'base64');
var decoded_payload = decodeUplink(bytes)['data'];
// Merge decoded payload into Ubidots payload
Object.assign(ubidots_payload, decoded_payload);
return ubidots_payload
}
function decodeUplink(bytes) {
// Decoder for the RAK1906 WisBlock Environmental Sensor (https://store.rakwireless.com/products/rak1906-bme680-environment-sensor)
var decoded = {};
//if (bytes[0] == 1) {
// If received data is of Environment Monitoring type
decoded.temperature =  (bytes[0]<<8|bytes[1])/10 ;
decoded.humidity = (bytes[2]<<8|bytes[3]) ;
decoded.temp1 = (bytes[4]<<8|bytes[5])/10;
decoded.temp2 = (bytes[6]<<8|bytes[7])/10;
decoded.poids = (bytes[8]<<8|bytes[9])/100;
decoded.battery=(bytes[10]<<8|bytes[11])/100;
decoded.luminosity=bytes[12]<<8|bytes[13];
return {"data": decoded};
}
module.exports = { format_payload };

不要忘记将我们代码中 AppEUI、DevEUI 和 AppKey 的值替换为您放在 TTN 上的值。

if(at_send_check_response("+AT: OK", 100, "AT\r\n")){
is_exist = true;
at_send_check_response("+ID: AppEui", 1000, "AT+ID\r\n");
at_send_check_response("+MODE: LWOTAA", 1000, "AT+MODE=LWOTAA\r\n");
at_send_check_response("+DR: EU868", 1000, "AT+DR=EU868\r\n");
at_send_check_response("+CH: NUM", 1000, "AT+CH=NUM,0-2\r\n");
at_send_check_response("+KEY: APPKEY", 1000, "AT+KEY=APPKEY,"E2615C4277914656365B2A0F5F012047"\r\n"); CHANGER HERE
at_send_check_response("+ID: DEVEUI", 1000, "AT+ID=DEVEUI,"ABCDEF123456789A"\r\n"); CHANGE HERE 
at_send_check_response("+ID: APPEUI", 1000, "AT+ID=APPEUI,"0000000000000000"\r\n"); CHANGE HERE
at_send_check_response("+CLASS: C", 1000, "AT+CLASS=A\r\n");
ret=at_send_check_response("+PORT: 9", 1000, "AT+PORT=9\r\n");
delay(200);
is_join = true;

检查代码中分配的引脚是否与物理分配给微控制器的引脚相同。一切都准备好了!系统功能正常,可以启动。

改进

为了使系统更紧凑、无线并避免噪音,我们用 KiCad 软件中的 PCB 电路替换了原型板。首先是带有音频放大器的音频 PCB。

现在在 KiCad 中创建原理图和封装,以便打印。

 
 
 
pYYBAGPXV8KADOy3AABzmBDF4VA961.png
 
1 / 3
 

印刷 PCB 后,您必须在 PCB 上焊接元件(音频放大器、电阻器电容器),注意选择正确的电阻器和电容器值。

然后您必须创建最终的 PCB,其中包含 Arduino 板和连接所有传感器的连接器

 
 
 
pYYBAGPXV8WAcoIZAACD6TAnCws475.png
 
1 / 3
 

构建系统

然后我们让我们的系统防水,以保护它免受天气条件的影响。所有模块或传感器都放置在防水盒中。传感器通过电缆延伸,放置在蜂巢内/蜂巢上。

pYYBAGPXV9WAUQ5AACLrr-D6UWo551.jpg
 

盒子功能正常,只需要测试一下!

我们决定将我们的结果发布在另一个 Cloud Beep 上。这是我们得到的结果。

pYYBAGPXV9qAMBzKAAEb8Jx72C8658.png
 

 

 


下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费