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

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

3天内不再提示

玩嗨OpenHarmony:基于OpenHarmony的智慧牧场方案 4/4 室内管理系统篇

共熵服务中心 来源:未知 2022-11-08 19:45 次阅读
原文引自电子发烧友论坛 HarmonyOS技术社区 《基于OpenHarmony的智慧牧场》

686ab48e-5f5a-11ed-8abf-dac502259ad0.png

前文回顾

《智慧牧场之生物姿态检测篇》

《智慧牧场之生物心率检测篇》

《生物运动轨迹跟踪篇》

1. 背景知识

1.1室内管理系统的意义

在智慧牧场解决方案中,随着科技的发展,物联网无线通信、大数据计算等技术的不断发展,在越来越多行业中得到应用,智能化生产的概念也深入人心。为提升养殖业的投入产出比、减少料肉/奶比、提升生产效率、改善养殖环境的生态环境、减低禽畜疫病滋生的可能性,打造一体化、数字式、自动化的管理模式。而室内管理系统,是其中的重中之重,也最为复杂。

68a26c76-5f5a-11ed-8abf-dac502259ad0.jpg

1.2室内管理系统涵盖内容

以养牛为例,利用光照、温、湿度、日照等传感器实时采集分析畜牛棚室内光照强度、空气和氨气、日照等环境参数,并自动调节开启或关闭所需设备(比如:包括天窗,水幕,风扇、水泵、污水处理等)。实时检测气态浓度、H2S浓度、CO2浓度、光照强度、气压、灰尘、环境噪声、环境温度、奶牛体温及录像图像,由模型分析,遥控或自动控制湿帘风机、喷淋滴灌、供暖照明、排风扇、开窗机等通风换气设备等设备。为了保证高产量、高质量、生态、安全的奶牛安全,确保室内环境最适合家畜生长并提高奶牛福利。

使用机器人和流水线饲喂奶牛,记录奶牛饮食数据,同时给每一头牛戴上智能项圈和计步手环,对牛只的身体状况和运动数据实时监控。同时监控用水用料的数据,动态调整投喂策略,包括投喂量和投喂频率(包括:饲喂机和自动饮水器)。

智能养牛的室内管理系统采用奶厅智能检测系统,自动识别奶牛身份,自动上传班次挤奶情况。同时可以根据温度自动控制风机、喷淋、和光照设备,保证每一头牛在极度舒适的情绪下产奶。

使用室内空气温控技术,实现从牧场产奶到零售终端全程冷链和无漏点式温度监控。

与此同时,在牛棚内设置摄像机等监测设备,对大棚内7-24小时连续监测,实现了奶牛养殖的智能化生产与科学管理。

68d6ec8a-5f5a-11ed-8abf-dac502259ad0.png

2. 解决方案概要

该方案尝试用OpenHarmony实现光照强度检测、温湿度检测、水位控制和图传部分。

69207b48-5f5a-11ed-8abf-dac502259ad0.jpg

69338bd4-5f5a-11ed-8abf-dac502259ad0.jpg

695a872a-5f5a-11ed-8abf-dac502259ad0.jpg

69709d1c-5f5a-11ed-8abf-dac502259ad0.jpg

699958ce-5f5a-11ed-8abf-dac502259ad0.jpg

69ce7356-5f5a-11ed-8abf-dac502259ad0.jpg

3. 硬件设计3. 硬件设计

3.1 光照检测传感器BH1750

69fd6198-5f5a-11ed-8abf-dac502259ad0.png

典型的电路应用如下:

6a4e279a-5f5a-11ed-8abf-dac502259ad0.png

I2C总线时序图如下:

6a6e0da8-5f5a-11ed-8abf-dac502259ad0.png

3.2 湿度和温度传感器 SHT20

6a94db5e-5f5a-11ed-8abf-dac502259ad0.png

典型的电路应用如下:

6abfb6c6-5f5a-11ed-8abf-dac502259ad0.png

时序图如下:

6af726a6-5f5a-11ed-8abf-dac502259ad0.png

4. 软件设计

4.1 光照强度部分:

/***************************************************************
* 函数名称: Start_BH1750
* 说    明: 启动BH1750
* 参    数: 无
* 返 回 值: 无
***************************************************************/
void Start_BH1750(void)
{
    WifiIotI2cData bh1750_i2c_data = {0};
    uint8_t send_data[1] = {0x10};
    bh1750_i2c_data.sendBuf = send_data;
    bh1750_i2c_data.sendLen = 1;
    I2cWrite(WIFI_IOT_I2C_IDX_1, (BH1750_Addr << 1) | 0x00, &bh1750_i2c_data);
}

4.2 温湿度部分:

/***************************************************************
* 函数名称: Init_SHT30
* 说    明: 初始化SHT30,设置测量周期
* 参    数: 无
* 返 回 值: 无
***************************************************************/
void Init_SHT30(void)
{
    WifiIotI2cData sht30_i2c_data = {0};
    uint8_t send_data[2] = {0x22, 0x36};
    sht30_i2c_data.sendBuf = send_data;
    sht30_i2c_data.sendLen = 2;
    I2cWrite(WIFI_IOT_I2C_IDX_1, (SHT30_Addr << 1) | 0x00, &sht30_i2c_data);
}

4.3 水位控制部分:

static float GetVoltage(void)
{
    unsigned int ret;
    unsigned short data;


    ret = AdcRead(WIFI_IOT_ADC_CHANNEL_2, &data, WIFI_IOT_ADC_EQU_MODEL_8, WIFI_IOT_ADC_CUR_BAIS_DEFAULT, 0xff);
    if (ret != WIFI_IOT_SUCCESS)
    {
        printf("ADC Read Fail
");
    }


    return (float)data * 1.8 * 4 / 4096.0;
}

4.4 图传部分:

#include "esp_camera.h"
#include 


#define CAMERA_MODEL_AI_THINKER


#include "camera_pins.h"


const char* ssid = "**";
const char* password = "123456789";


void startCameraServer();


void setup() {
  Serial.begin(115200);
  Serial.setDebugOutput(true);
  Serial.println();


  camera_config_t config;
  config.ledc_channel = LEDC_CHANNEL_0;
  config.ledc_timer = LEDC_TIMER_0;
  config.pin_d0 = Y2_GPIO_NUM;
  config.pin_d1 = Y3_GPIO_NUM;
  config.pin_d2 = Y4_GPIO_NUM;
  config.pin_d3 = Y5_GPIO_NUM;
  config.pin_d4 = Y6_GPIO_NUM;
  config.pin_d5 = Y7_GPIO_NUM;
  config.pin_d6 = Y8_GPIO_NUM;
  config.pin_d7 = Y9_GPIO_NUM;
  config.pin_xclk = XCLK_GPIO_NUM;
  config.pin_pclk = PCLK_GPIO_NUM;
  config.pin_vsync = VSYNC_GPIO_NUM;
  config.pin_href = HREF_GPIO_NUM;
  config.pin_sscb_sda = SIOD_GPIO_NUM;
  config.pin_sscb_scl = SIOC_GPIO_NUM;
  config.pin_pwdn = PWDN_GPIO_NUM;
  config.pin_reset = RESET_GPIO_NUM;
  config.xclk_freq_hz = 20000000;
  config.pixel_format = PIXFORMAT_JPEG;
  //init with high specs to pre-allocate larger buffers
  if(psramFound()){
    config.frame_size = FRAMESIZE_UXGA;
    config.jpeg_quality = 10;
    config.fb_count = 2;
  } else {
    config.frame_size = FRAMESIZE_SVGA;
    config.jpeg_quality = 12;
    config.fb_count = 1;
  }


#if defined(CAMERA_MODEL_ESP_EYE)
  pinMode(13, INPUT_PULLUP);
  pinMode(14, INPUT_PULLUP);
#endif


  // camera init
  esp_err_t err = esp_camera_init(&config);
  if (err != ESP_OK) {
    Serial.printf("Camera init failed with error 0x%x", err);
    return;
  }


  sensor_t * s = esp_camera_sensor_get();
  //initial sensors are flipped vertically and colors are a bit saturated
  if (s->id.PID == OV3660_PID) {
    s->set_vflip(s, 1);//flip it back
    s->set_brightness(s, 1);//up the blightness just a bit
    s->set_saturation(s, -2);//lower the saturation
  }
  //drop down frame size for higher initial frame rate
  s->set_framesize(s, FRAMESIZE_QVGA);


#if defined(CAMERA_MODEL_M5STACK_WIDE)
  s->set_vflip(s, 1);
  s->set_hmirror(s, 1);
#endif


  WiFi.begin(ssid, password);


  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");


  startCameraServer();


  Serial.print("Camera Ready! Use 'http://");
  Serial.print(WiFi.localIP());
  Serial.println("' to connect");
}


void loop() {
  // put your main code here, to run repeatedly:
  delay(10000);
}

6b2d9b3c-5f5a-11ed-8abf-dac502259ad0.gif

本文完

写在最后我们最近正带着大家玩嗨OpenHarmony。如果你有好玩的东东,欢迎投稿,让我们一起嗨起来!有点子,有想法,有Demo,立刻联系我们:合作邮箱:zzliang@atomsource.org
6b402522-5f5a-11ed-8abf-dac502259ad0.gif

6b53972e-5f5a-11ed-8abf-dac502259ad0.png

6b72950c-5f5a-11ed-8abf-dac502259ad0.png6b91da5c-5f5a-11ed-8abf-dac502259ad0.png6bb59884-5f5a-11ed-8abf-dac502259ad0.png

6bdde316-5f5a-11ed-8abf-dac502259ad0.png

6c10cb3c-5f5a-11ed-8abf-dac502259ad0.png

6c28bd14-5f5a-11ed-8abf-dac502259ad0.png

6c537a72-5f5a-11ed-8abf-dac502259ad0.png

6c766122-5f5a-11ed-8abf-dac502259ad0.png

6ca7a534-5f5a-11ed-8abf-dac502259ad0.png

6cca9c06-5f5a-11ed-8abf-dac502259ad0.png

6cf1e11c-5f5a-11ed-8abf-dac502259ad0.png

6d0fb35e-5f5a-11ed-8abf-dac502259ad0.png

6d2f3062-5f5a-11ed-8abf-dac502259ad0.png


原文标题:玩嗨OpenHarmony:基于OpenHarmony的智慧牧场方案 4/4 室内管理系统篇

文章出处:【微信公众号:开源技术服务中心】欢迎添加关注!文章转载请注明出处。

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

    关注

    0

    文章

    386

    浏览量

    7835
  • OpenHarmony
    +关注

    关注

    23

    文章

    3199

    浏览量

    15151

原文标题:玩嗨OpenHarmony:基于OpenHarmony的智慧牧场方案 4/4 室内管理系统篇

文章出处:【微信号:开源技术服务中心,微信公众号:共熵服务中心】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    玩嗨OpenHarmony:基于OpenHarmony智慧牧场方案 2/4 生物心率检测篇

    原文引自电子发烧友论坛 HarmonyOS技术社区 《基于OpenHarmony智慧牧场》 前文回顾 《智慧牧场之生物姿态检测篇》 1.
    的头像 发表于 11-05 02:05 1441次阅读

    玩嗨OpenHarmony:基于OpenHarmony智慧牧场方案 3/4 生物运动轨迹跟踪篇

    的意义 在智慧牧场解决方案中,实时检测牲畜的活动状况是非常重要的环节。现在已经不是放牛和牧羊犬的时代了。面临大范围牧场上牲畜走失,寻找困难,过度放牧导致草场退化等问题,通过穿戴式的生物
    的头像 发表于 11-07 20:45 897次阅读

    基于OPenHarmony智慧牧场#鸿蒙

    鸿蒙HarmonyOSOpenHarmony
    发布于 :2022年09月23日 16:21:11

    基于OpenHarmony智慧牧场--讲解部分# #HarmonyOS #产品方案

    HarmonyOSOpenHarmony
    发布于 :2022年09月23日 18:00:40

    基于OpenHarmony智慧牧场

    【项目名称】:基于OpenHarmony智慧牧场【负责人 】 :韩帅杰解决方案介绍【描述】①我国对畜牧业的支持逐年增加,尤其是在农村地区,对于一定规模的畜牧业养殖户,政府会给予技术和
    发表于 08-26 12:41

    OpenHarmony开源开发者成长计划解决方案学生挑战赛】--基于OpenHarmony智慧农业环境监控系统设计

    【项目名称】基于OpenHarmony智慧农业环境监控系统设计【项目负责人】:张铭哲1、项目描述​环境监控和自动化控制是农业生产中不可或缺的环节,作物的生长环境监测和控制直接决定了作物的产量和质量
    发表于 09-02 21:20

    润和软件为OpenHarmony落地智慧城市构建高效可靠软件基座

    华为、汉威科技等合作伙伴,联合打造城市燃气监测解决方案。润和软件承担了运维APP、设备间通讯蓝牙模组、OpenHarmony操作系统定制发行版(HiHope智慧城市发行版)的研发和技术
    发表于 11-09 11:01

    OpenHarmony社区运营报告(2023年4月)

    实践、社区生态进展以及行业发行版和解决方案等方面的落地成果。 4月19日,开放原子开源大赛OpenHarmony创新赛发布。本次大赛由开放原子开源基金会发起,OpenHarmony项目
    发表于 05-22 10:30

    OpenHarmony生态论坛:基于OpenHarmony的轻量屏显方案

    OpenHarmony生态论坛:基于OpenHarmony的轻量屏显方案,可面向AIOT时代的多模态交互需求
    的头像 发表于 04-25 15:49 924次阅读
    <b class='flag-5'>OpenHarmony</b>生态论坛:基于<b class='flag-5'>OpenHarmony</b>的轻量屏显<b class='flag-5'>方案</b>

    OpenHarmony Tech Day技术日 OpenHarmony智慧教育整体解决方案

    北京布局未来教育科技有限公司张武伟就OpenHarmony智慧教育整体解决方案进行演讲,从三个主题进行分享
    的头像 发表于 04-25 16:02 892次阅读
    <b class='flag-5'>OpenHarmony</b> Tech Day技术日 <b class='flag-5'>OpenHarmony</b><b class='flag-5'>智慧</b>教育整体解决<b class='flag-5'>方案</b>

    OpenHarmony生态论坛:双猴科技打造OpenHarmony智慧学习工具

    OpenHarmony生态论坛:双猴打造OpenHarmony智慧学习工具       审核编辑:彭菁  
    的头像 发表于 04-25 17:05 907次阅读
    <b class='flag-5'>OpenHarmony</b>生态论坛:双猴科技打造<b class='flag-5'>OpenHarmony</b><b class='flag-5'>智慧</b>学习工具

    玩嗨OpenHarmony:基于OpenHarmony智慧牧场方案 1/4 生物姿态检测篇

    原文引自电子发烧友论坛 HarmonyOS技术社区 《基于OpenHarmony智慧牧场》 1. 智慧牧场
    的头像 发表于 11-03 21:05 750次阅读

    基于OpenHarmony智慧牧场方案:生物心率检测篇

    前文回顾 《智慧牧场之生物姿态检测篇》 1. 背景知识 在智慧牧场解决方案中,实时检测牲畜的健康状况是非常重要的环节,达到口蹄疫等疾病早期预
    的头像 发表于 11-22 12:25 580次阅读

    基于OpenHarmony智慧牧场方案:生物运动轨迹跟踪篇

    前文回顾 《智慧牧场之生物姿态检测篇》 《智慧牧场之生物心率检测篇》 1. 背景知识 1.1 牧场定位的意义 在
    的头像 发表于 11-25 09:20 835次阅读

    基于OpenHarmony智慧牧场方案室内管理系统

    前文回顾 《智慧牧场之生物姿态检测篇》 《智慧牧场之生物心率检测篇》 《生物运动轨迹跟踪篇》 1. 背景知识 1.1 室内
    的头像 发表于 11-29 12:25 1581次阅读