物联网关键技术-课程心得

目录

前言

相关内容介绍

通过Arduino学习课程内容

案例分享以及心得

ESP8266概述

总结

其它的案例链接


前言

        作为一名大二的学生,本学期也是学习了物联网关键技术相关的内容,在CSDN发布这篇文章,主要是想分享一下在课程上学习到的内容,以及一些心得。

相关内容介绍

       

物联网关键技术是指支撑物联网发展的一些核心技术,主要包括以下几个方面:

  • RFID技术:RFID技术是物联网“让物说话”的关键技术。物联网中的RFID标签存储标准化的、可互操作的信息,并通过无线数据通信网络自动采集到中心信息系统中,实现物品的识别
  • 传感器技术:传感器技术是物联网的关键技术之一,它主要用于感知、采集、处理和传输物体的环境和状态数据。目前广泛应用的传感器有温度传感器、湿度传感器、气压传感器、光学传感器等
  • 无线网络技术:无线网络技术是实现物联网的基础。物联网中的设备可以使用多种通信方式与云端服务器进行通信,常用的有Wi-Fi、蓝牙、射频识别(RFID)、ZigBee等
  • 人工智能技术:人工智能技术是对物体的“语音”内容进行分析,从而实现计算机自动处理的技术。人工智能涉及到机器学习、深度学习、自然语言处理、计算机视觉等领域
  • 云计算技术:云计算技术是物联网的发展离不开的支撑技术。物联网终端的计算和存储能力有限,云计算平台可以作为物联网的大脑,实现海量数据的存储和计算

通过Arduino学习课程内容

        由于课程的时长比较短,所以老师采用了Arduino来教学,通过学习Arduino,我认识到了物联网的重要性。如今,物联网已经渗透到各个领域,无论是家庭生活还是工业制造,都可以通过物联网连接不同的设备和系统,实现智能化管理和控制。而物联网的核心就是将传感器、通信、数据分析等技术相结合,实现设备间的互联互通。而Arduino作为物联网关键技术之一,为我们提供了一个简单而强大的平台来制作物联网设备和交互系统。

        其次,通过Arduino学习,我了解到了Arduino的优势和应用。Arduino具有开放源代码、易用、价格低廉等优势,使得它成为了物联网开发的首选平台之一。通过Arduino,我们可以快速上手并实现各种功能,比如温湿度传感器、光线控制、远程监控等。而且,通过Arduino的各种扩展模块和编程能力,我们可以将其应用于各种领域,如家庭自动化、智能农业、智能医疗等。

        对于Arduino确实是可以快速上手,我们只需要了解里面相关函数库的内容,具体怎么用,有什么用处,通过调用库里面的函数,来实现我们的功能。

案例分享以及心得

        本学期也是做了很多案例,比如通过Arduino让ESP8266联网,再通过联网的ESP8266来让实现功能。

ESP8266概述

        ESP8266是一款低成本的Wi-Fi模块,广泛应用于物联网和嵌入式系统开发。它由乐鑫科技公司(Espressif Systems)推出,借助其强大的功能和灵活的接口,成为物联网项目中的重要组件。 ESP8266集成了Wi-Fi功能,可以连接到无线网络,并通过TCP/IP协议与其他设备进行通信。它支持多种Wi-Fi加密模式和网络协议,包括STA(Station)模式和AP(Access Point)模式。在STA模式下,它可以作为Wi-Fi客户端连接到无线网络,实现与互联网的通信。而在AP模式下,它可以作为热点,允许其他设备连接到它,从而组建一个局域网。

        ESP8266还具备了丰富的I/O口,包括通用输入输出(GPIO)、模拟输入输出(ADC/DAC)和PWM(脉宽调制)等接口,使得它可以连接到各种传感器、执行器和外设设备。此外,它也支持串口通信、SPI接口和I2C总线,与其他设备进行数据交互。

        为了方便开发者使用,ESP8266提供了多种编程方式。最常见的是使用AT指令集进行编程,通过串口与模块进行交互。此外,乐鑫科技还开发了ESP8266非官方开发环境(ESP8266 Arduino Core),使得开发者可以使用Arduino IDE进行编程。这极大地降低了学习和使用ESP8266的门槛。

        由于其低价和强大的功能,ESP8266在物联网项目和嵌入式系统中广泛应用。它可以用于远程监控、智能家居、智能农业、智慧城市等领域。同时,ESP8266还可以与其他微控制器(如Arduino)配合使用,为项目提供Wi-Fi连接和远程控制的能力。

 那么以上的一些就是关于ESP8266的相关介绍,其实百度大部分都能查到,这边只是一个简单介绍一下。

接下来给大家分享一下通过Arduino让ESP8266联网,实现点亮板子上的LED

代码:

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

#ifndef STASSID
#define STASSID "your-ssid"
#define STAPSK "your-password"
#endif

ESP8266WebServer ZXH_LED(80);

const int led = 4;

void setup(void) {
  pinMode(led, OUTPUT);//管脚输出
  digitalWrite(led, 0);//LED低电平
  Serial.begin(115200);//设定串口初始化
  WiFi.mode(WIFI_STA);//8266WiFi工作模式是sta,station
  WiFi.begin("yz66", "12345678");//连接热点
  Serial.println("");//串口输出

  // Wait for connection等待连接 //开始连接WiFi,一直反复连接
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  //连接WiFi成功,跳出循环
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(WiFi.SSID()); //通过串口监视器输出连接的wifi名称
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());//通过WiFi.localip()获取IP地址
  
//--------"启动网络服务功能-------- //
  ZXH_LED.begin();//服务器开始工作
  ZXH_LED.on("/",HTTP_GET,handleRoot);//连接成功,执行handleroot方法内容,斜杠为根目录或主页
  ZXH_LED.on("/LED",HTTP_POST,handleLED);//设置处理LED控制请求的函数'handleLED'
  ZXH_LED.on("/GLED",HTTP_POST,guanLED);//设置处理LED控制请求的函数'guanLED'
  ZXH_LED.onNotFound(handleNotFound);//设置处理404情况的函数'handleNotFound'
  Serial.println("HTTP server started ");
}

// 处理LED控制请求的函数'handleLED'
//-----------------------------------------------
void handleLED(){                                       
digitalWrite(led,0);  //LED的点亮
ZXH_LED.sendHeader("Location","/"); //跳转回页面根目录
ZXH_LED.send(303);  //发送Http相应代码303跳转
}
// 处理LED控制请求的函数'guanLED'
//-----------------------------------------------
void guanLED(){
digitalWrite(led,1);  //LED的熄灭
ZXH_LED.sendHeader("Location","/"); //跳转回页面根目录
ZXH_LED.send(303);  //发送Http相应代码303跳转
}

//处理网站根目录“/”的访问请求  两个按钮
//----------------------------------
void handleRoot() { 
  ZXH_LED.send(200, "text/html", "<div style=\"text-align:center\"> <form action=\"/LED\" method=\"POST\"> <input type=\"submit\" value=\"K-LED\" style=\"font-size:30px;width:300px;height:150px;\"> </form></div>" 
  "<div style=\"text-align:center\"> <form action=\"/GLED\" method=\"POST\"><input type=\"submit\" value=\"G-LED\" style=\"font-size:30px;width:300px;height:150px;\"> </form></div>");
}


//访问失败
//------------------------------------
void handleNotFound() {
  digitalWrite(led, 1);
  ZXH_LED.send(404, "text/plain", "meiyou yong"); //访问失败 显示meiyou yong
  digitalWrite(led, 0);
}


void loop(void) {
  ZXH_LED.handleClient(); //开始执行服务器客户端方法 检查http服务器访问
  MDNS.update();
}

代码截图

        

这个案列主要是让ESP8266联网之后,我们打开通过 Arduino创建的一个小网站,网站里面有两个按钮,点击就能控制LED灯,由于这边课程结束了,实物板子收回去了,不能给大家演示一下,有实物的可以通过以上例子来修改实现别的功能,也是可以的。

总结

        通过本学期的Arduino学习,我对物联网的重要性和潜力有了更深刻的认识,同时也认识到了Arduino作为物联网关键技术的优势和应用。在今后的学习和工作中,我将继续探索和应用物联网技术,为构建智能化、便捷化的生活和工作环境做出贡献。

其它的案例链接

        那么最后在这给大家分享一下我和我的好兄弟韦忠航一起做的一个ESP82866的小型智能家具

https://bbs.csdn.net/topics/615579482?spm=1001.2014.3001.6377

直接打开链接就能阅读相关内容啦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python物联网是指使用Python编程语言来开发和实现物联网应用和设备的技术和方法。Python作为一种简洁、易学、功能强大的编程语言,被广泛应用于物联网领域。Python可以用于开发物联网终端设备、网关设备以及Web后台程序,并且具有以下特点和优势: 1. 简单易学:Python语法简洁明了,易于理解和学习,适用于初学者和有经验的开发人员。 2. 强大的库和框架支持:Python拥有丰富的第三方库和框架,如microPython,可以快速构建物联网解决方案。 3. 高效开发:Python具有简洁的语法和丰富的开发工具,可以提高开发效率,快速迭代和部署物联网应用。 4. 跨平台兼容性:Python可以在多个平台上运行,包括嵌入式系统和主流操作系统,适用于不同的物联网设备和环境。 5. 大数据处理和分析能力:Python拥有强大的数据处理和分析库,如NumPy、Pandas和Matplotlib,可用于物联网数据的收集、存储和分析。 通过使用Python开发物联网终端设备和应用,可以快速构建简单且功能强大的物联网解决方案。此外,Python社区也非常活跃,可以通过参与技术交流群等方式与其他开发者共同学习和解决问题。 在物联网中,MicroPython也是一种非常受欢迎的开发工具和平台。MicroPython是一种基于Python的精简版,专门用于嵌入式系统和物联网设备的开发。通过使用MicroPython,可以方便地开发物联网终端设备的程序,并且可以实现各种功能,如液晶屏的显示。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值