大数据毕业设计选题推荐-农作物观测站综合监控平台-Hadoop-Spark-Hive-CSDN博客

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

作者主页IT毕设梦工厂✨
个人简介曾从事计算机专业培训教学擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。
☑文末获取源码☑
精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

文章目录

一、前言

随着科技的发展和全球气候变化的挑战农业生产的效率和可持续性越来越受到人们的关注。为了提高农业生产的效率和可持续性需要进行长期的的农作物观测和监控。传统的农作物观测站通常需要大量的人力物力进行维护而且受到时间和空间的制约无法做到实时的观测和监控。因此基于大数据的农作物观测站监控平台的研究和应用对于提高农作物观测和监控的效率和可持续性具有重要的意义。

目前农作物观测站的数据采集和监控主要依靠人工操作不仅需要大量的人力物力而且受到时间和空间的制约无法做到实时的观测和监控。同时由于农作物生长受到多种因素的影响包括气候、土壤、病虫害等因此需要更加齐全、精细的数据采集和监控。但是现有的解决方案无法满足这一需求因此需要一种基于大数据的农作物观测站监控平台来解决这个问题。

本课题的研究目的是开发一种基于大数据的农作物观测站监控平台实现以下功能
农气站在线情况监控农气站的运行状态包括在线和离线状态以及离线原因。
观测作物分类统计对观测的作物进行分类统计包括作物种类、生长情况、产量预测等。
离线站点清单列出所有离线的站点包括站点名称、位置、离线时间等。
站点实时数据实时采集站点的数据包括气候数据、土壤数据、病虫害数据等。
站点实时监控图片数据实时采集站点的监控图片包括作物生长情况、病虫害情况等。

本课题的研究意义在于提高农作物观测和监控的效率和可持续性为农业生产提供更加精细的数据支持有助于提高农业生产的效率和可持续性。同时本课题的研究成果也可以为其他领域的数据采集和监控提供参考和借鉴。

二、开发环境

  • 大数据技术Hadoop、Spark、Hive
  • 开发技术Python、Django框架、Vue、Echarts、机器学习
  • 软件工具Pycharm、DataGrip、Anaconda、VM虚拟机

三、系统界面展示

  • 基于大数据的农作物观测站综合监控平台界面展示
    基于大数据的农作物观测站综合监控平台
    基于大数据的农作物观测站综合监控平台-农气站在线情况
    基于大数据的农作物观测站综合监控平台-观测作物分类统计
    基于大数据的农作物观测站综合监控平台-观测站地图
    基于大数据的农作物观测站综合监控平台-站点历史记录
    基于大数据的农作物观测站综合监控平台-站点历史监控图片

四、部分代码设计

  • 大数据项目实战-代码参考
body = {}
semaphore = threading.Semaphore(0)
def value_1():
    while True:
        time.sleep(2)
        localtime = time.time()
        global body
        value = uart.uart_read()
        value_send = float(value)
        body = {
                "datastreams": [
                    {
                        "id": "temperature",  # 对应OneNet的数据流名称
                        "datapoints": [
                            {
                                "value": value_send  # 数据值
                            }
                        ]
                    }
                ]
            }
        link_db.sql_insert(localtime, value_send)
        print("接受的数据(%.1f)" % value_send)
        semaphore.release()


def build_payload(type, payload):
    datatype = type
    packet = bytearray()
    packet.extend(struct.pack("!B", datatype))
    if isinstance(payload, str):
        udata = payload.encode('utf-8')
        length = len(udata)
        packet.extend(struct.pack("!H" + str(length) + "s", length, udata))
    return packet

# 当客户端收到来自服务器的CONNACK响应时的回调。也就是申请连接服务器返回结果是否成功等
def on_connect(client, userdata, flags, rc):
    print("连接结果:" + mqtt.connack_string(rc))
    # 上传数据
    global body
    json_body = json.dumps(body)
    print(json_body)
    packet = build_payload(TYPE_JSON, json_body)
    client.publish("$dp", packet, qos=1)  # qos代表服务质量
    

# 当消息已经被发送给中间人on_publish()回调将会被触发
def on_publish(client, userdata, mid):
    print("回调次数" + str(mid))

def mqtt_up_main():
    semaphore.acquire()
    client = mqtt.Client(client_id=DEV_ID, protocol=mqtt.MQTTv311)
    client.on_connect = on_connect
    client.on_publish = on_publish
    client.on_message = on_message

    client.username_pw_set(username=PRO_ID, password=AUTH_INFO)
    client.connect('183.230.40.39', port=6002, keepalive=120)  # 端口、ip地址、生存期

    client.loop_forever()
    time.sleep(1)


if __name__ == '__main__':
    while True:
        # link_db.sql_create_db()
        t1 = threading.Thread(target=value_1, args=())
        t2 = threading.Thread(target=mqtt_up_main, args=())
        t1.start()
        t2.start()
        t1.join()
        t2.join()
        time.sleep(3)

五、论文参考

  • 计算机毕业设计选题推荐-基于大数据的农作物观测站综合监控平台-论文参考
    计算机毕业设计选题推荐-基于大数据的农作物观测站综合监控平台-论文参考

六、系统视频

基于大数据的农作物观测站综合监控平台-项目视频

大数据毕业设计选题推荐-农作物观测站监控平台-Hadoop

结语

大数据毕业设计选题推荐-农作物观测站综合监控平台-Hadoop-Spark-Hive
大家可以帮忙点赞、收藏、关注、评论啦
源码获取私信我

精彩专栏推荐⬇⬇⬇
Java项目
Python项目
安卓项目
微信小程序项目

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Hadoop