我是靠谱客的博主 爱听歌裙子,最近开发中收集的这篇文章主要介绍Arduino与树莓派用Lora通信,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目的:

Arduino和树莓派之间通过Lora实现交互

准备材料:

硬件:树莓派、arduino、Lora一对(串口)、任意传感器一个(这里使用的是一个非接触式温度传感器)。

软件环境:Arduino IDE、树莓派 python2.7、Windows 安装usb转ttl的驱动。

模块简介:使用的是泽耀科技的产品,接口使用串口通信。

硬件连接:

连接Arduino和Lora:引脚连接为(GND->GND,VCC->5V,TX->RX,RX->TX,MD0和MD1->GND,AUX不需要连接)。

连接树莓派和Lora


代码烧写:

Arduino:

(烧写时注意拔掉Arduino连接的TX、RX引脚,否则会导致烧写失败)

#include <Wire.h>
#include <IR_Thermometer_Sensor_MLX90614.h>

IR_Thermometer_Sensor_MLX90614 MLX90614 = IR_Thermometer_Sensor_MLX90614();

void setup() {
  Serial.begin(9600);
  MLX90614.begin();  
  pinMode(5, OUTPUT);
}

void loop() {
  String c = "g";

  if(Serial.available()>= 0)
  {
    c = Serial.readString();
  }
  if(c =="open")                                             //当收到字符串为open时LED灯点亮,Arduino发送温度数据
  {
    digitalWrite(5, HIGH);
    delay(100);
    Serial.println(MLX90614.GetObjectTemp_Celsius());
    delay(500);
    digitalWrite(5,LOW);
  }
}

树莓派:

查看串口信息(一般都为ttyUSB0或者ttyUSB1等,如果直接把Arduino插到树莓派,串口信息为(ttyACM0))

ls /dev/tty*

# -*- coding:utf-8 -*-
import time
import serial

def read(key):
    ser=serial.Serial("/dev/ttyUSB0",9600,timeout=1)       //串口对应上面查询出来的串口
    ser.write(key)
    print("output:"+key)
    time.sleep(2)
    response = ser.readall()
    print(response)

str=("open","b","open","d","open")
while True:
      for i in str:
          resp = read(i)

结果:








最后

以上就是爱听歌裙子为你收集整理的Arduino与树莓派用Lora通信的全部内容,希望文章能够帮你解决Arduino与树莓派用Lora通信所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部