×

智能堆肥系统开源分享

消耗积分:0 | 格式:zip | 大小:0.54 MB | 2022-10-20

安德森大

分享资料个

描述

更新:

这个项目的最新版本可以在这里找到

执行摘要

智能堆肥系统监控和管理您的堆肥——在需要时添加空气和水。它会跟踪您的堆肥何时准备好,并在需要采取特定行动时提醒您(例如 - 搅拌堆肥、覆盖堆肥)。

这是解决方案的第二个原型。第 1 版在内部进行了测试(您可以在此处查看完整的第 1 版视频)。第 2 版在我的堆肥箱中进行了测试。上面的视频突出显示了 V1 和 V2。下面的图像和数据来自第 2 版(堆肥测试)。

问题陈述

根据 EPA,食物残渣和庭院垃圾目前占我们扔掉的垃圾的 20-30%,应该改为堆肥。制作堆肥可以使这些材料远离垃圾填埋场,在那里它们会释放甲烷,一种强效温室气体。

大气中的甲烷含量正在飙升。这引起了全球变暖科学家的警觉,因为甲烷排放使地球变暖的二氧化碳量是相似量的二十多倍。

不幸的是,大多数人不堆肥——通常是由于对堆肥的好处无知,对可以添加到堆肥中的物质的误解,以及缺乏管理堆肥的愿望。

好消息

幸运的是,堆肥很简单。如果您所做的只是将厨房垃圾和树叶倒成一堆,那么您肯定会得到堆肥。问题是:

  • 这个过程称为厌氧堆肥,可能需要数年时间
  • 厌氧堆肥会产生更多的甲烷气体,吸引啮齿动物,并释放硫化氢(闻起来像臭鸡蛋)和尸胺(闻起来像尸体)。

一种更好的堆肥方式

大多数堆肥倡导者建议有氧堆肥。这种方法使用氧气来喂养分解堆肥的微生物。这种方法有很多好处:

  • 如果温度、湿度和气流保持适当,可在短短 4 周内产生可用的堆肥
  • 不产生甲烷气体

这种方法的挑战是维护堆肥环境所需的护理。这包括给堆肥充气,添加材料以保持热量/pH值,并根据需要给堆肥浇水。这就是智能堆肥系统可以提供帮助的地方

高级示意图

 
pYYBAGNPQ4OAKgzgAACjPwtOupM060.jpg
系统的高级绘图
 

智能堆肥系统由四个组件组成:

  • 卫星站 - 测量堆肥的详细信息并采取行动
  • 厨房垃圾箱站 - 测量垃圾箱中的垃圾量
  • 基站 - 分析传感器数据并提供建议
  • 仪表板 - 为用户提供 UI 以了解系统的运行状况和所需的操作

解决方案构建 - 卫星系统站

 
 
 
 
poYBAGNPQ4uAPUsDABO27nzLpO4139.jpg
 
1 / 10物理组件,在组装和插入堆肥箱之前
 

连接到堆肥堆并测量的 Arduino 101 供电设备:

  • 环境温度
  • 堆肥温度
  • 堆肥水分
  • 甲烷气体输出
  • 水库水位

基于传感器,传感器站可以:

  • 加水(来自收集雨水的水库)
  • 打开/关闭通风口

与基站的通信是通过蓝牙低功耗 (BLE)。

解决方案构建 - 厨房垃圾站

 
 
 
 
poYBAGNPQ5CAI8lTAAjAJHrc10o052.jpg
 
1 / 5一个简单的堆肥桶“聪明”...
 

一个 Arduino 101 设备,可以测量添加到堆肥箱中的厨房垃圾量。这用于在需要清空厨房垃圾箱时通知用户。该测量值还用于计算堆肥的厨房材料的使用寿命磅数。

与基站的通信是通过 BLE。使用超声波测距仪进行测量。

解决方案构建-基站

 
 
 
 
pYYBAGNPQ5-ADKqFADPo-MT-mGA694.jpg
 
1 / 3分析数据并提出建议的 Python 脚本的输出。该脚本将命令发送回卫星系统以添加水。
 

一个英特尔爱迪生设备,用于保存数据、对传感器数据进行分析以提出建议并托管网站。基本设备通过 BLE(通过轮询卫星站和来自厨房垃圾箱系统的通知)获取传感器数据。

解决方案构建 - 仪表板

 
 
 
 
poYBAGNPQ6KAPNbHAADOtt1n3Zo868.png
 
1 / 3一切正常时的视图
 

一个基于 Web 的仪表板,提供有关所需操作的指导以及堆肥整体健康状况的视图。用户可以看到:

  • 堆肥准备就绪的时间
  • 传感器读数(温度、湿度、甲烷、厨房垃圾箱状态、堆肥总磅数)
  • 需要采取的措施(搅拌堆肥、加水等)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'智能堆肥系统开源分享',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);