淘客怎么建网站做推广广州门户网站
- 作者: 五速梦信息网
- 时间: 2026年03月21日 08:22
当前位置: 首页 > news >正文
淘客怎么建网站做推广,广州门户网站,异次元wordpress模板,怎么做二维码链接网页目录 一、搭建准备
- 硬件要求
- 软件要求 二、技术栈概述 三、搭建步骤
- 安装操作系统
- 启动树莓派
- 更新系统
- 安装必要的软件 4.1 安装 Python 和 Flask 4.2 安装 Node.js 4.3 安装 Mosquitto#xff08;MQTT Broker#xff09; 4.4 安装 InfluxDB…目录 一、搭建准备
- 硬件要求
- 软件要求 二、技术栈概述 三、搭建步骤
- 安装操作系统
- 启动树莓派
- 更新系统
- 安装必要的软件 4.1 安装 Python 和 Flask 4.2 安装 Node.js 4.3 安装 MosquittoMQTT Broker 4.4 安装 InfluxDB 4.5 启动 InfluxDB 服务 4.6 安装 Grafana
- 配置数据源
- 创建数据库
- 搭建一个简单的物联网应用 7.1 安装依赖库 7.2 编写 Python 脚本 代码示例 代码说明
- 运行 Python 脚本
- 验证数据 9.1 验证 InfluxDB 数据
- 使用 Grafana 进行数据可视化 10.1 登录 Grafana 10.2 添加数据源 10.3 创建仪表板 10.4 监控数据
- 总结 随着物联网IoT技术的快速发展使用树莓派搭建自己的物联网服务器成为了许多开发者和爱好者的热门选择。树莓派不仅价格低廉而且功能强大适合从简单项目到复杂应用的各种需求。本文将详细介绍如何在树莓派上搭建物联网服务器涵盖所需的技术栈、搭建步骤以及代码示例。 一、搭建准备
- 硬件要求 树莓派推荐树莓派 3B 或 4BSD卡至少16GB推荐使用Class 10电源适配器5V/2.5A 或 5V/3A网络连接Wi-Fi 或以太网
- 软件要求 Raspbian或其他支持的操作系统如 UbuntuPython 3Node.jsMQTT BrokerMosquittoInfluxDBGrafana 二、技术栈概述 在搭建物联网服务器时通常会涉及多种技术包括编程语言、数据库、消息传递协议、数据可视化工具和操作系统。以下是常见技术栈的简要介绍 编程语言 Python用于数据收集和处理常用框架如 Flask。JavaScript用于前端开发Node.js 用于服务器端开发。Java用于开发基于 Java 的物联网平台如 ThingsBoard。 操作系统 Raspbian树莓派的官方操作系统。Ubuntu适用于树莓派的另一个常见 Linux 发行版。 数据库 InfluxDB时序数据库适合存储传感器数据。MySQL/MariaDB关系型数据库。SQLite轻量级数据库适用于小型项目。 消息传递协议 MQTT轻量级的消息队列协议。HTTP/HTTPS基于 REST API 的数据传输协议。 服务器软件 Node-RED流式开发工具用于图形化编程。MosquittoMQTT Broker。 数据可视化工具 Grafana分析与监控平台用于数据可视化。MatplotlibPython 库用于生成图表。 三、搭建步骤
- 安装操作系统 首先您需要在 SD 卡上安装 Raspbian 操作系统。可以使用 Raspberry Pi Imager 工具。 下载并安装 Raspberry Pi Imager。选择操作系统推荐选择 Raspbian。选择 SD 卡点击“写入”。
- 启动树莓派 将 SD 卡插入树莓派连接电源和网络。使用 HDMI 线连接显示器启动树莓派。完成初始设置包括语言、时区、网络配置等。
- 更新系统 打开终端运行以下命令更新系统 sudo apt update sudo apt upgrade -y4. 安装必要的软件 4.1 安装 Python 和 Flask sudo apt install python3 python3-pip -y pip3 install Flask4.2 安装 Node.js curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - sudo apt install -y nodejs4.3 安装 MosquittoMQTT Broker sudo apt install mosquitto mosquitto-clients -y启动 Mosquitto 服务 sudo systemctl enable mosquitto sudo systemctl start mosquitto4.4 安装 InfluxDB 添加 InfluxDB 的仓库 wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add - echo deb https://repos.influxdata.com/debian stretch stable main | sudo tee /etc/apt/sources.list.d/influxdb.list sudo apt update sudo apt install influxdb -y 4.5 启动 InfluxDB 服务 安装完成后启动 InfluxDB 服务并设置其在启动时自动运行 sudo systemctl start influxdb sudo systemctl enable influxdb您可以使用以下命令检查 InfluxDB 的状态 sudo systemctl status influxdb4.6 安装 Grafana Grafana 是一个强大的数据可视化工具可以与 InfluxDB 集成。安装 Grafana 的步骤如下 sudo apt install -y software-properties-common sudo add-apt-repository -y ppa:grafana/grafana sudo apt update sudo apt install -y grafana启动 Grafana 服务并设置为开机自启 sudo systemctl start grafana-server sudo systemctl enable grafana-server5. 配置数据源 在 Grafana 中配置 InfluxDB 作为数据源 打开浏览器输入 http://树莓派的IP地址:3000 访问 Grafana默认用户名和密码均为admin。登录后系统会提示您修改密码建议立即更改。点击左侧菜单中的“Configuration”配置图标然后选择“Data Sources”数据源。点击“Add data source”添加数据源选择“InfluxDB”。输入以下配置 URL: http://localhost:8086Database: 输入您想要使用的数据库名称可以在后面创建。User 和 Password: 如果没有设置可以留空。点击“Save Test”确认配置是否成功。
- 创建数据库 在 InfluxDB 中创建一个用于存储物联网数据的数据库例如 iot_data influx进入 InfluxDB 的命令行界面后运行以下命令 CREATE DATABASE iot_data使用以下命令查看创建的数据库 SHOW DATABASES7. 搭建一个简单的物联网应用 接下来我们将创建一个简单的 Python 应用用于模拟传感器数据并将其发送到 InfluxDB 和 MQTT Broker。 7.1 安装依赖库 在终端中安装 paho-mqtt 和 influxdb Python 库 pip3 install paho-mqtt influxdb7.2 编写 Python 脚本 我们将创建一个名为 sensor.py 的 Python 文件该脚本将模拟传感器数据并将这些数据发送到 InfluxDB 和 MQTT Broker。下面是完整的代码示例以及相应的说明。 代码示例 import time import random import paho.mqtt.client as mqtt from influxdb import InfluxDBClient# MQTT 配置 MQTT_BROKER localhost # MQTT Broker 地址 MQTT_PORT 1883 # MQTT Broker 端口 MQTT_TOPIC iot/sensor # MQTT 主题名称# InfluxDB 配置 INFLUXDB_HOST localhost # InfluxDB 地址 INFLUXDB_PORT 8086 # InfluxDB 端口 INFLUXDB_DATABASE iot_data # InfluxDB 数据库名称# 创建 InfluxDB 客户端 influx_client InfluxDBClient(INFLUXDB_HOST, INFLUXDB_PORT, databaseINFLUXDB_DATABASE)# 创建 MQTT 客户端 mqtt_client mqtt.Client()# 连接到 MQTT Broker mqtt_client.connect(MQTT_BROKER, MQTT_PORT)# 发送传感器数据的函数 def send_sensor_data():while True:# 模拟传感器读取数据temperature random.uniform(20.0, 30.0) # 模拟温度数据20.0 到 30.0 摄氏度之间humidity random.uniform(30.0, 50.0) # 模拟湿度数据30% 到 50% 之间# 构建 InfluxDB 数据点json_body [{measurement: sensor_data, # 数据测量的名称tags: {device: raspberry_pi # 标签用于标识设备},fields: {temperature: temperature, # 温度字段humidity: humidity # 湿度字段}}]# 写入数据到 InfluxDBinflux_client.write_points(json_body)# 将数据发送到 MQTTmqtt_client.publish(MQTT_TOPIC, fTemperature: {temperature:.2f}, Humidity: {humidity:.2f})# 打印发送的数据到控制台print(fSent data - Temperature: {temperature:.2f}, Humidity: {humidity:.2f})time.sleep(5) # 每5秒发送一次if name main:send_sensor_data()代码说明 导入模块 import time import random import paho.mqtt.client as mqtt from influxdb import InfluxDBClienttime用于控制发送数据的时间间隔。random用于生成模拟的温度和湿度数据。paho.mqtt.client用于与 MQTT Broker 进行通信的库。influxdb用于与 InfluxDB 数据库进行交互的库。 配置 MQTT 和 InfluxDB MQTT_BROKER localhost MQTT_PORT 1883 MQTT_TOPIC iot/sensorINFLUXDB_HOST localhost INFLUXDB_PORT 8086 INFLUXDB_DATABASE iot_data这里定义了 MQTT 和 InfluxDB 的连接配置。localhost 表示运行在同一台机器上。 创建 InfluxDB 客户端 influx_client InfluxDBClient(INFLUXDB_HOST, INFLUXDB_PORT, databaseINFLUXDB_DATABASE)创建一个 InfluxDB 客户端对象用于后续的数据写入。 创建 MQTT 客户端 mqtt_client mqtt.Client() mqtt_client.connect(MQTT_BROKER, MQTT_PORT)创建一个 MQTT 客户端对象并连接到指定的 MQTT Broker。 发送传感器数据的函数 def send_sensor_data():while True:# 模拟传感器读取数据temperature random.uniform(20.0, 30.0) # 模拟温度数据20.0 到 30.0 摄氏度之间humidity random.uniform(30.0, 50.0) # 模拟湿度数据30% 到 50% 之间while True: 循环将不断运行模拟持续读取传感器数据。random.uniform(20.0, 30.0) 生成一个介于 20.0 和 30.0 之间的随机浮点数模拟温度读数。random.uniform(30.0, 50.0) 生成一个介于 30.0 和 50.0 之间的随机浮点数模拟湿度读数。 构建 InfluxDB 数据点 json_body [{measurement: sensor_data, # 数据测量的名称tags: {device: raspberry_pi # 标签用于标识设备},fields: {temperature: temperature, # 温度字段humidity: humidity # 湿度字段}} ]这里构建一个 JSON 格式的数据点包含 measurement数据测量的名称在 InfluxDB 中的表名。tags用于对数据进行标记的键值对可以用于过滤和分组。fields实际存储的数据包括温度和湿度。 写入数据到 InfluxDB influx_client.write_points(json_body)使用 write_points 方法将构建的数据点写入 InfluxDB。 将数据发送到 MQTT mqtt_client.publish(MQTT_TOPIC, fTemperature: {temperature:.2f}, Humidity: {humidity:.2f})使用 publish 方法将数据发送到指定的 MQTT 主题。这里使用了格式化字符串将温度和湿度格式化为两位小数。 打印发送的数据到控制台 print(fSent data - Temperature: {temperature:.2f}, Humidity: {humidity:.2f})在控制台输出发送的数据方便调试和查看。 设置发送间隔 time.sleep(5) # 每5秒发送一次使用 time.sleep(5) 使程序每 5 秒钟发送一次数据模拟定时的传感器读取。 主程序入口 if name main:send_sensor_data()这部分代码确保当脚本作为主程序运行时调用 send_sensor_data 函数开始数据发送。
- 运行 Python 脚本 在终端中您可以使用以下命令运行 Python 脚本 python3 sensor.py确保您已经安装了所有必要的依赖库并且已经启动了 InfluxDB 和 MQTT Broker。运行脚本后您将看到每 5 秒生成并发送一次的温度和湿度数据如下所示 Sent data - Temperature: 24.56, Humidity: 35.789. 验证数据 9.1 验证 InfluxDB 数据 您可以在终端中进入 InfluxDB 的命令行界面验证数据是否成功写入 influx在 InfluxDB 命令行中选择数据库并查询数据 USE iot_data; SELECT * FROM sensor_data;这将显示您发送的传感器数据。 使用以下命令行工具来订阅 MQTT 主题 mosquitto_sub -h localhost -t iot/sensor运行此命令后您应该能够看到类似以下的输出显示通过 MQTT 发送的传感器数据 Temperature: 24.56, Humidity: 35.78 Temperature: 22.34, Humidity: 40.12 Temperature: 25.01, Humidity: 30.45这表明您的 Python 脚本成功将模拟的温度和湿度数据通过 MQTT Broker 发送出去。
- 使用 Grafana 进行数据可视化 在成功发送和存储数据后我们可以使用 Grafana 来可视化这些数据。以下是如何在 Grafana 中创建仪表板以显示传感器数据的步骤。 10.1 登录 Grafana 打开浏览器访问 Grafana 的界面通常地址为 http://树莓派的IP地址:3000。使用默认的用户名和密码均为 admin登录。 10.2 添加数据源 登录后点击左侧菜单中的“Configuration”配置图标然后选择“Data Sources”数据源。点击“Add data source”添加数据源选择“InfluxDB”。在配置页面中输入以下信息 URL: http://localhost:8086Database: 输入 iot_data我们之前创建的数据库名称。User 和 Password: 如果没有设置留空即可。点击“Save Test”确认配置是否成功。 10.3 创建仪表板 在 Grafana 左侧菜单中选择“”图标然后选择“Dashboard”仪表板。点击“Add new panel”添加新面板。在查询部分选择数据源为刚刚添加的 InfluxDB。输入查询语句 SELECT mean(temperature) AS Average Temperature FROM sensor_data WHERE \(timeFilter GROUP BY time(\)interval) fill(null)此查询将计算传感器数据的平均温度。在“Visualization”选项卡中选择您想要的图表类型例如图形、单值等。点击“Apply”保存面板设置。您可以重复以上步骤以添加更多面板例如显示湿度数据、实时数据等。 10.4 监控数据 完成以上步骤后您将能够在 Grafana 中监控和可视化传感器数据。您可以根据需要自定义仪表板以便更好地展示您感兴趣的数据。
- 总结 在本篇文章中我们详细介绍了如何在树莓派上搭建一个物联网服务器步骤包括 准备工作选择合适的硬件和软件环境。安装操作系统在树莓派上安装 Raspbian 操作系统。安装必要的软件包括 Python、MQTT BrokerMosquitto、InfluxDB 和 Grafana。编写数据收集脚本使用 Python 编写脚本以模拟传感器数据并将数据发送到 InfluxDB 和 MQTT Broker。验证数据通过 InfluxDB 和 MQTT 客户端验证数据是否成功存储和发送。使用 Grafana 可视化数据设置 Grafana创建仪表板以实时监控传感器数据。 非常感谢您阅读到这里您的关注和支持是我不断前进的动力。跟随着我探索嵌入式领域希望因为兴趣而成为嵌入式领域的专家。 在这个快速发展的技术时代嵌入式系统无处不在从智能家居到医疗设备从自动驾驶汽车到工业控制每一个领域都离不开嵌入式技术的支持。对我来说嵌入式不仅仅是一门技术更是一种激情和追求。通过不断学习和实践我深深爱上了这个充满挑战和机遇的领域。每一次调试成功每一个创新的实现都是我继续前行的动力。 ——by 极客小张
- 上一篇: 淘客网站怎么做排名简单描述什么是网络营销
- 下一篇: 淘客怎么做网站单页有什么网站专门做美食的吗
相关文章
-
淘客网站怎么做排名简单描述什么是网络营销
淘客网站怎么做排名简单描述什么是网络营销
- 技术栈
- 2026年03月21日
-
淘客网站怎么做代理怎样创建网站赚钱
淘客网站怎么做代理怎样创建网站赚钱
- 技术栈
- 2026年03月21日
-
淘客网站咋做许昌建网站
淘客网站咋做许昌建网站
- 技术栈
- 2026年03月21日
-
淘客怎么做网站单页有什么网站专门做美食的吗
淘客怎么做网站单页有什么网站专门做美食的吗
- 技术栈
- 2026年03月21日
-
淘客做自己的网站珠海建设网站公司哪家好
淘客做自己的网站珠海建设网站公司哪家好
- 技术栈
- 2026年03月21日
-
套网站模板软件中文安卓开发工具
套网站模板软件中文安卓开发工具
- 技术栈
- 2026年03月21日
