应朋友需求,在工作学习之余学习了半个月的Arduino,分享一下自己的学习成果。
软件:本地服务器中的项目是使用JAVA,框架Springboot+Mybatis,数据库Mysql,在项目中开放一个可以直接向数据库存储数据的接口来接收arduino发出的请求。
硬件:Arduino UNO开发板,DHT11传感器+Ethernet W5100拓展板,将arduino中读出的数据以带参数的http请求的方式发送给本地服务器,其他传感器实现方式几乎相同,在此以DHT11温湿度传感器为例来进行阐述。
TP-LINK路由器+网线若干,尽量不要使用交换机,交换机无法自动分配IP并且兼容性一般比较差,造成无法设置静态IP,要使用带有DHCP功能的路由器,一些兼容性差的路由器会出现无法识别Arduino W5100的情况,造成无法自动分配IP地址,尽量选用兼容性较好的TP系列路由器(非广告,厚脸皮在省科技市场尝试了无数交换机和路由器血的教训)
Springboot的application.yml配置文件:
server:
port: 8085
context-path: /arduino
jsp-servlet:
init-parameters:
development: true
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://localhost:3306/arduino
driver-class-name: com.mysql.jdbc.Driver
username: root
password: cja
mybatis:
type-aliases-package: com.arduino.entity
mapper-locations: classpath:edu/zzu/mapper/*Mapper.xml
JAVA项目中开放的接口地址为:http://localhost:8085/arduino/data/set?tem=XXX
本地服务器IP地址为:192.168.1.129
Arduino的IP地址由路由器自动分配,使用路由器无需设置,但写上也无妨。
Arduino程序如下:<