七叶笔记 » golang编程 » 物联网实战教程1,单片机、上位机、移动应用、服务器后台开发

物联网实战教程1,单片机、上位机、移动应用、服务器后台开发

一个很好的物联网(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部分:单片机开发——Arduino
    – 1.1 Arduino开发环境搭建( 当前文章所在
    – 1.2 点亮一个Led( 下期文章更新 ,篇幅所限,如果直接写完第一部分的话,文章太长了)
    – 1.3 PWM操作
    – 1.4 UART的使用
  • 第2部分:上位机开发——.Net
    – 2.1 winform快速入门
    – 2.2 Serial port控件使用
  • 第3部分:移动开发——Android
    – 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部分:后端开发——Golang
    – 4.1 go语言开发环境搭建
    – 4.2 go语言基础快速入门
    – 4.3 用go语言显示一个网页
    – 4.4 go语言web框架——gin
    – 4.5 部署go语言项目
  • 第二部分:案例学习

  • 第5部分:蓝牙4.0案例——手机控制RGB灯颜色
    – 5.1 用 串口 控制RGB灯颜色
    – 5.2 用上位机控制RGB灯颜色
    – 5.3 蓝牙4.0简单介绍
    – 5.4 蓝牙4.0安卓例程源码阅读
    – 5.5 用安卓手机控制RGB灯颜色
  • 第6部分:网络模块案例——温度采集系统开发
    – 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( 下期更新这部分内容

    三连凑个数,关注不迷路

    往期哪里搞,文章里翻找

    相关文章