概述
目的:
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通信所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复