hello world 测试程序
设置一个文件 去跑 hello world 延迟 500ms
12345678910void setup() { Serial.begin(115200);// 设置串口波特率115200 }// the loop function runs over and over again forevervoid loop() { Serial.printf("hello world!\n"); // 向串口发送字符 delay(500); // 延迟500ms}
物联网安装软件
使用 arduino ide 软件在 附加开发版管理器网址中添加http://arduino.esp8266.com/stable/package_esp8266com_index.json安装对应 开发版驱动, 在设备管理器中查看 com 口如图 本机在 com5 口在开发版管理器中添加 esp8266 搜索开发版选择 NodeMCU 1.0 (ESP - 12E)端口选择 对应的端口
网页端按钮对 esp 8266 led 灯控制
网页端按钮对 esp 8266 led 灯控制
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566#include <ESP8266WiFi.h> // 调用ESP8266WiFi库#include <ESP8266WiFiMulti.h> // 调用ESP8266WiFiMulti库#include <ESP8266WebServer.h> // 调用ESP8266WebServer库 ESP8266WiFiMulti wifiMulti; // 建立ESP8266WiFiMulti对象,对象名称是 'wifiMulti' ESP8266WebServer esp8266_server(80);// 建立网络服务器对象,该对象用于响应HTTP请求,监听端口(80) void setup(void) ...
网页端按钮对继电器的控制(WIFI插座)功能
工具
esp8266 开发板
继电器模块
杜邦线
用电器
实验连线将 ESP8266 核心板的“VV”与继电器模块的“VCC”相连,“G”与“GND”相连,“D1”与“IN1”相连,“D4”与“IN2”相连。用电器电源线串入继电器模块的常开触点
程序代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119// 调用wifi库#include <ESP8266WiFi.h> // 替换为你的wifi名称和密码const char* ssid = "ZTE-2EDFRT";//wifi名称const char* p ...
通过小爱音箱实现继电器的语音控制(WIFI 智能插座)
工具
esp8266 开发板
继电器模块
杜邦线
用电器
实验连线将 ESP8266 核心板的“VV”与继电器模块的“VCC”相连,“G”与“GND”相连,“D1”与“IN1”相连,“D4”与“IN2”相连。用电器电源线串入继电器模块的常开触点
程序代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591 ...
esp8266通过水位检测模块测量水位(模数转换),并通过串口把数据发送给电脑端(串口通信)
工具
esp8266 开发板
水位监测模块
杜邦线
实验连线esp 8266 核心版 的 3v 接水位监测模块的”+”, “G” 接 “-“, “A0” 接S
程序代码12345678910void setup() { Serial.begin(115200);// 设置串口波特率115200 }// the loop function runs over and over again forevervoid loop() { Serial.printf("hello world!\n"); // 向串口发送字符 delay(500); // 延迟500ms}
ScheduledExecutorService 执行任务
ScheduledExecutorService是Java中处理定时和周期性任务的强大工具,它简化了线程管理,自动分配线程资源,避免了手动创建线程的繁琐,它提供了定时和周期性任务调度功能,能满足多数场景,此外,ScheduledExecutorService还支持任务取消和线程池关闭,对线程管理提供了更好的控制手段。
ScheduledExecutorService是Java中的一个非常有用的工具,它允许在给定延迟后运行或定期执行的命令,可以用来替代Timer类,相比Timer来说,ScheduledExecutorService更加灵活且功能更强大。为了说明问题,模拟一个例子。假如有一个在线购物平台,在这个平台上,用户可以将商品添加到他们的购物车中,但是在用户决定结算之前,购物车里的商品价格是可能会有变动的,为了确保用户总是看到最新的价格,可以使用ScheduledExecutorService来定期检查购物车中商品的价格是否有更新,当用户打开购物车页面时,可以使用一个任务,每隔几分钟(比如每5分钟)就自动检查一次购物车中所有商品的价格,如果这个任务发现某个商品的价格有变动,它就可以 ...
设计模式 抽象工厂方法模式
定义与特点工厂方法模式(FactoryMethod),定义一个创建产品对象的工厂接口,让工厂子类决定实例化那一个产品类。工厂方法使一个类的实例化延迟到其子类。我们把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”,它不属于 GoF 的 23 种经典设计模式,它的缺点是增加新产品时会违背“开闭原则”(可以通过反射克服该缺点)。工厂方法模式核心组件工厂方法模式是在简单工厂模式上的改进,主要包含如下几个角色及组件
工厂方法模式核心组件
抽象工厂(Creator):整个工厂模式的核心角色,它与应用无关,主要在创建模式中规范和产品对应的工厂对象的标准化定义。
具体工厂(Concrete Creator):实现了抽象工厂的具体工厂类,该类型是和应用直接交互的具体实现类,在应用程序中调用,用于创建产品对象。
抽象产品(Product):工厂方法模式创建的所有类型的超级父类,该类型和具体业务有关,用于规范工厂方法模式中创建的方法对象具备的公共特征行为。
具体产品(Concrete Product):该类型实现了抽象产品 ...
Vue 添加 dayjs 方便日期操作
先用 cmd 在vue 项目中添加 dayjs
1npm install dayjs
123456//在 main.js 中挂载import dayjs from 'dayjs'// 全局方法挂载Vue.prototype.$dayjs = dayjs;// 使用方法this.$dayjs(new Date).format("YYYYMMDDHHmmss")
具体方法 参考 dayjs 中文网站: https://dayjs.fenxianglu.cn/
java 生成 二维码
ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。导入对应的jar 包
1234567891011<dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.4.1</version></dependency><dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.4.1</version></dependency>
对应的 Utils 实现生成或者解析对应的二维码信息
1234567891011121314151617 ...
