开源OA办公平台搭建教程:O2OA+Arduino实现物联网应用(一)
O2OA平台是一个企业办公类系统的低代码开发平台,更够方便的开发和部署协同办公、流程管理等应用,但它能做的远不止这些,今天这个案例就为大家介绍一下,O2OA可以做的更多。
最近对养鱼产生了浓厚的兴趣,于是在办公室搞了一缸金鱼。由于周末、放假、出差等情况,就没法天天照料,换水、灯光控制、喂食、温度控制等就有了问题。
于是考虑使用我们的O2OA平台作为控制中心,加上Arduino以及周边传感器和模块进行远程控制,实现云养鱼,顺带着可以控制一些办公室设备,比如空调、投影仪等。
具体考虑实现功能如下:
1、将O2OA作为控制中心
2、远程控制金鱼灯的开关和调光
3、远程控制红外发射,控制空调和投影仪
4、记录监控鱼缸温度和环境温度湿度
所有用到的元件如下:
- 一台O2OA服务器

- 一块WeMos D1 mini,集成ESP8266,作为主控MCU

- 一个DC-DC LM2596HVS降压模块 输入4.5-60v固定转5V

- 一个DS18B20数字温度传感器 防水

- 一个DHT22 单总线数字温湿度传感器

- 两个MOS管,通过PWM调节灯光用

- 红外学习模块,串口控制

- 48V3A电源 适配器

基本上就这些,还有若干导线,焊接,DC插座,洞洞板等。
实现步骤如下:
- ESP8266启动接入点AP模式,并响应web服务,通过浏览器连接后,设置需要接入的wifi和密码,O2OA中心服务器域名、端口、登录的用户名和密码,然后存入EEPROM存储器中,完成初始化设置。
- ESP8266根据设置连接wifi,并连接到O2OA服务器完成登录,获取token。
- ESP8266拿到用户token后,和O2OA服务器建立WebSocket连接。
- 在O2OA服务器配置自定义WebSocket消息。
- 在O2OA平台开发一个门户页面,设置相关的按钮,给指定设备的用户发送WebSocket消息。
- ESP8266收到WebSocket消息后,解析消息指令,执行相应的控制。如发送PWM或UART通讯等。
- ESP8266定时收集传感器温度湿度信息,并向O2OA服务器发起http请求。
- O2OA服务器接收到请求后创建温度、湿度记录文档,并配置相关视图和统计。
- 在O2OA门户页面展现温度湿度统计图。
- 在O2OA服务器创建自建表,用于记录学习型红外模块的红外编码地址。

大概过程就是这样。
下一章介绍开发环境的搭建。
开源OA办公平台搭建教程:O2OA+Arduino实现物联网应用(一)的更多相关文章
- 开源OA办公平台搭建教程:O2OA+Arduino实现物联网应用(二)
O2OA平台搭建 O2OA的开发环境非常简单,安装服务器后即可通过浏览器进行开发了和使用.具体可参考文档库中的其他文档,有比较详细的介绍,这里就不再赘述了. Arduino开发发环境搭建 安装Ardu ...
- 开源OA办公平台搭建教程:O2OA表单中的事件
1. 概述 我们设计表单的时候经常会有这样的需求:在表单或者组件加载前/加载后,能够执行一些脚本来改变表单或组件的样式和行为.或者用户在点击组件的时候能够执行脚本.表单的事件就是为这样的场景而设计. ...
- 开源OA办公平台搭建教程:基于nginx的快速集群部署——端口分发
主机信息 主机1:172.16.98.8(linux) 主机2:172.16.98.9(linux) 集群需求 172.16.98.8:WEB服务器,应用服务器,文件存储服务器,中心服务器 172.1 ...
- 开源协同办公平台部署教程:O2OA PAAS平台部署
一.镜像制作1.将安装介质o2server-5.0.3-linux.zip上传至镜像制作服务器上.(上传目录为/paas/xxhpaas/moka/o2oa)2.使用unzip命令解压安装包,参考命令 ...
- 开源OA办公平台功能介绍:应用市场-固定资产管理(一)功能设计
概述 应用市场-固定资产管理,是用来维护管理企业固定资产的一个功能.其整个功能包括对固定资产的台账信息.领用.调拨.借用.维修.盘点.报废等一整个生命周期的动态管理过程.力求客户安装就可以使用. 本应 ...
- 开源OA办公系统的“应用市场”,能够为协同办公开拓什么样的“前路”?
在我们的日常生活中,应用市场这个词,总是与智能手机划上等号,不管使用的是iPhone还是安卓,总会接触到手机上的APP应用市场,我们可以在应用市场中,选择自己所需要的APP应用软件,下载使用后,可以让 ...
- 小白都会超详细--ELK日志管理平台搭建教程
目录 一.介绍 二.安装JDK 三.安装Elasticsearch 四.安装Logstash 五.安装Kibana 六.Kibana简单使用 系统环境:CentOS Linux release 7.4 ...
- 开源协同OA办公平台教程:O2OA服务管理中,接口的调用权限
本文介绍O2OA服务管理中,接口的权限设定和调用方式. 适用版本:5.4及以上版本 创建接口 具有服务管理设计权限的用户(具有ServiceManager角色或Manager角色)打开" ...
- syslog-ng收集日志+ELK平台搭建教程
syslog-ng部署: 用于接收交换机输出的日志. syslog-ng安装很简单,可以顺便搜一下,文章有很多.我是yum直接安装的. syslog-ng配置: vi /etc/syslog-ng/s ...
随机推荐
- Kubernetes (yaml 文件详解)
# yaml格式的pod定义文件完整内容:apiVersion: v1 #必选,版本号,例如v1kind: Pod #必选,Podmetadata: #必选,元数据 ...
- (30)Linux文本处理
1.cat命令:连接文件并打印输出到标准输出设备 cat 命令可以用来显示文本文件的内容(类似于 DOS 下的 type 命令),也可以把几个文件内容附加到另一个文件中,即连接合并文件. cat 命令 ...
- 子网划分、变长子网掩码和TCP/IP排错__子网、掩码、网络汇总
1.如何创建子网? 要创建子网,就需要从IP地址的主机部分中借出一定的位,并且保留它们用来定义子网地址.这意味着用于主机的位减少,所以子网越多,可用于定义主机的位越少. 2.子网划分的好处: 1)缩减 ...
- cf-1230C Anadi and Domino
题目链接:http://codeforces.com/contest/1230/problem/C 题意: 有21 个多米诺骨牌,给定一个无向图(无自环,无重边),一条边上可以放一个多米诺骨牌.如果两 ...
- Codeforces Round #646 (Div. 2) B. Subsequence Hate (思维,前缀和)
题意:给你一个只含有\(0\)和\(1\)的字符串,每次操作可以将\(0\)改成\(1\)或\(1\)改成\(0\),问最少操作多少次,使得子序列中不含有\(010\)和\(101\). 题解:仔细想 ...
- Codeforces Round #653 (Div. 3) B. Multiply by 2, divide by 6 (数学)
题意:有一个数\(n\),每次操作可以使\(n*=2\)或\(n/=6\)(如果能被整除),求最少操作次数使得\(n=1\),如果不满足,输出\(-1\). 题解:我们只要看\(n\)的质因子即可,如 ...
- leetcode11 盛水容器 贪心
这道题,总感觉做过... 先理解题意,何为容器 容器 要求水面高度相同 于是体积就是长方形,高度有两块较高板的低板决定,宽度由两块板间距离决定. 考虑当前最优解,就贪心 从两边开始向内,若能使得体积变 ...
- woj1002-Genesis woj1003-birthofnoah woj1004-noah's ark
title: woj1002-Genesis date: 2020-03-05 categories: acm tags: [acm,woj] 输入输出考虑一下.easy #include <i ...
- SpringBoot 全局视角看springboot
从单体架构到微服务 单体架构 任何一个网站在发布初期几乎都不可能立马就拥有庞大的用户流量和海量数据,都是在不停 的试错过程中一步一步演变其自身架构,满足其自身业务.比如现在能够抗住双十一这么大 流量的 ...
- 作业day03吴童
小作业3 1. 求区间[100, 200]内10个随机整型数的最大值 1 import random 2 a = [] 3 for i in range(10): 4 n = random.randi ...