一个很好的物联网(IoT)开发实战入门教程,图、文详细。供计算机、电子工程相关专业的在校生以及相关领域初学者、爱好者参考学习。涉及 单片机 、 上位机 、移动应用、服务器后台开发的知识,以及蓝牙4.0、以太网模块的使用实例。由一位四年半前还在校的同学 nladuo 分享,其中涉及计算机以及电子工程相关的知识,从底层的单片机(AVR->Stm32-> arduino ),到Qt、Android、iOS、Web开发、网络爬虫、机器学习都略有涉猎。
开发环境
本文的开发环境都是在Windows平台进行的。
基础知识部分
在基础知识部分将要讲解单片机、上位机、手机应用以及Web开发,让读者掌握基础的物联网技术。
在单片机中,将要简单介绍Arduino单片机的使用,读者需要有编程语言的基础,C/C++最好,另外本章主要以LED灯为案例,读者只要了解二极管如何点亮就可以了。
在上位机中,将要带读者动手开发一个简单的上位机,了解如何用电脑和单片机进行交互。
在手机应用部分,将要讲解Android原生应用的开发,这部分不会对编程语言进行讲解,但也不会用到这些语言的高级特性。
在Web开发部分,将要讲解HTTP的基础,以及使用go语言来开发web应用,读者需要了解tcp的简单知识。
案例学习部分
在案例学习部分,将要通过两个案例:手机控制RGB小灯、温度采集系统,讲解蓝牙4.0和以太网模块的使用。
在手机控制RGB小灯案例中,使用蓝牙4.0技术,使得小灯连上“网络”,让手机在近距离控制RGB小灯的颜色与亮度。这个部分将要涉及到第一部分的单片机开发、第二部分的上位机开发、第三以及第四部分的安卓开发。
在温度采集系统案例中,使用以太网模块,将温度传感器连接到因特网,将采集到的数据发送远端服务器,通过网页可以查询到传感器的实时温度。这个部分将要涉及到第一部分的单片机开发以及第五部分的Web开发。
目录
第一部分:基础入门
– 1.1 Arduino开发环境搭建( 当前文章所在 )
– 1.2 点亮一个Led( 下期文章更新 ,篇幅所限,如果直接写完第一部分的话,文章太长了)
– 1.3 PWM操作
– 1.4 UART的使用
– 2.1 winform快速入门
– 2.2 Serial port控件使用
– 3.1 安卓开发环境搭建
– 3.2 HelloActivity分析
– 3.3 LinearLayout与基本控件
– 3.4 Intent与Activity的生命周期
– 3.5 ListView与BaseAdapter
– 3.6 Service学习
– 3.7 Android权限机制
– 3.8 BroadCastReciever学习
– 4.1 go语言开发环境搭建
– 4.2 go语言基础快速入门
– 4.3 用go语言显示一个网页
– 4.4 go语言web框架——gin
– 4.5 部署go语言项目
第二部分:案例学习
– 5.1 用 串口 控制RGB灯颜色
– 5.2 用上位机控制RGB灯颜色
– 5.3 蓝牙4.0简单介绍
– 5.4 蓝牙4.0安卓例程源码阅读
– 5.5 用安卓手机控制RGB灯颜色
– 6.1 Arduino温度传感器的使用
– 6.2 ENC28J60模块的使用
– 6.3 在网页上显示温度
第1部分:单片机开发——Arduino
内容介绍
单片机可以说是物联网开发的基础了,市面上形形色色的智能设备,都是通过在单片机上编写程序开发出来的。这一讲将介绍一款开源电子原型平台——arduino,它的开发超级简单,相信读者肯定可以迅速地掌握它。这个教程是一个物联网教程,我是以打算案例的方式进行讲解,这里的‘物’(单片机)连接的网络目前是两个,一个是蓝牙,可以在近距离进行控制;第二个是以太网,可以在任何有网的情况下对arduino的控制。我们将在这章学习Arduino基本的IO操作、PWM、串口的操作,让读者对硬件开发有个大概的认识。
材料准备
在开始之前, 请准备好以下硬件材料(最简单的方式是从淘宝购买):
1、arduino nano 开发板 一块
我们的主要开发板,比arduino uno模块更加小巧。
2、RGB-LED模块
是一款LED灯,拥有三个管脚,共阳极或者共阴极,可以显现出各种RGB颜色。
3、USB转TTL模块
主要用在串口调试方面,常用的USB转TTL模块的驱动芯片有PL2303、CH340等。
4、蓝牙4.0模块(CC2541或CC2540)
蓝牙4.0,也叫BLE,是低功耗的蓝牙。可以连接到andorid4.0以上以及iphone4s以上的设备。这里使用的是TI公司的CC2541或者CC2540。
5、Nano ENC28J60 Ethernet shield网络模块
这是一款专门为nano开发板设计的以太网模块,可以连接网线,让arduino上网。(所以这里还需要一根网线和路由器)
6、DS18B20模块
温度传感器。
7、杜邦线若干、烙铁、焊锡、钳子等工具
基本配件,就不多说了。
1.1 Arduino开发环境搭建
Arduino简单介绍
Arduino是一款开源的电子原型平台,它适合做快速的开发,并且学习成本很低。Arduino语言是基于C/C++的,具体的语法可以参考 ,相信看一眼就很清楚了。另外,Arduino也有电子积木之称,市面上有很多Arduino的模块,比如说我们用到的以太网模块就是一种,我们开发arduino的时候会像玩儿积木一样把各种模块拼装在一起。
环境搭建
安装Arduino IDE
1、首先下载安装包,读者可以去arduino官网下载所需的安装包。如果是Windows系统,就选择Windows Installer。
接下来打开exe安装包,按照正常的步骤安装就Okay了。
2、在安装即将完成的时候,会弹出是否安装驱动的提示,这里选择安装驱动就好了。
3、插入Arduino Nano开发板,打开控制面板,并打开设备管理器。
如果能看到以下的图,就说明安装成功了。(这里以Arduino UNO板为例)
驱动安不上怎么办?
笔者在安装完Arduino IDE之后,遇到的情况并不理想,是这样的。
很显然,驱动没有安上。后来经过一番查找,发现是淘宝上的芯片是用的假的驱动芯片,比如说我这款用的是CH340的驱动,而非Arduino本身的驱动,所以从网上下一个CH340的驱动安装上就好了,安装好了如下图。
第一个程序:Hello, Arduino!
到现在为止,环境就搭建好了,我们打开Arduino IDE,首先点击工具,配置合适的 端口号 ,端口号可以参考设备管理器上的名字,比如说我的是COM5
接下来选择开发板型号,选择Arduino Nano开发板。
下面我们开始写我们的第一个Arduino代码。
void setup() {
// 设置串口波特率为9600
Serial.begin(9600);
}
void loop() {
// 每两秒在串口监视器中打印一个 Hello, Arduino!
Serial.println("Hello, Arduino!");
delay(2000);
}
如果不懂串口是什么的话,并没有关系,会在1.4节讲到。接下来我们把程序代码上传到开发板上。
上传成功之后,打开串口监视器,我们就可以看到输出的“Hello, Arduino!”了。
这期先到这,要是直接写完第一部分的内容,文章太长,不太合适(这会儿已经3200个字了)
下期更新预告:
第1部分:单片机开发——Arduino
– 1.1 Arduino开发环境搭建( 当前文章 )
– 1.2 点亮一个Led( 下期更新这部分内容 )
三连凑个数,关注不迷路
往期哪里搞,文章里翻找