物联网听上去是一个高大上的词儿,还有什么大数据、云、智能制造等等,今天我也往这方面稍微靠一靠,这篇文章主要介绍的是通过 wifi 模块与传感器组合,实现感应计数器,应用场景主要如下:

1.统计 SMT 机器过板数量。

2.监测 SMT 机器是否停止运行。

3.AGV障碍物感应预警。

在此之前我们需要准备必备的硬件,wifi模块与传感器,分别如下图所示:

传感器 + wifi

接线方式如下:

3V --> 3V/5V

OUT-->15

GND-->SND

开发工具为 Arduion 1.8.9,打开工具之后我们开始编程,主要代码如下:

void loop(){
display.clear();
display.drawString(, , WiFi.localIP().toString()); //显示 IP 地址 display.display();
delay(); }
void setup()
{
display.init();
display.flipScreenVertically();
display.setFont(ArialMT_Plain_16); //设置字体
display.clear();
display.drawString(, , id);
display.drawString(, , "...");
display.display();
while(WiFiMulti.run() != WL_CONNECTED) {
delay();
} Serial.begin();
delay(); Serial.print(digitalRead());
delay();
attachInterrupt(, CountTimes, FALLING); //触发条件 }

Api代码比较简单,一个写入数据一个读取数据:

 public string SaveData(System.Web.HttpContext app)
{
System.Web.HttpRequest req = app.Request; var db = Entity.SqlDB.GetInstance("mts");
int i = ;
Entity.WIFI_AUTO_COUNT wic = new Entity.WIFI_AUTO_COUNT();
if (db.Queryable<Entity.WIFI_AUTO_COUNT>().Any())
{
DataTable dt = db.Queryable<Entity.WIFI_AUTO_COUNT>().ToDataTable();
int curr_times = Convert.ToInt32(dt.Rows[][].ToString());
wic.TIMES = (curr_times + ).ToString();
i = db.Updateable(wic)
.UpdateColumns(it => new { it.TIMES })
.Where(it => it.FID == "test_key")
.ExecuteCommand();
}
else
{
wic.FID = "test_key";
wic.TIMES = ""; i = db.Insertable(wic).ExecuteCommand();
} MesLog.Logs.AddHourLog(req.Url.ToString());
return "ok";
} public string GetData(System.Web.HttpContext app)
{
System.Web.HttpRequest req = app.Request; var db = Entity.SqlDB.GetInstance("mts"); var json = db.Queryable<Entity.WIFI_AUTO_COUNT>().Select(it => new { Times = it.TIMES }).ToJson(); if (req["callback"] != null)
{
return req["callback"].Trim() + "([" + json + "])";//支持Jsonp
} return json;
}

wifi连接这一部分可以选择固定IP地址以及网关,也可以采用自动获取,Api 需要根据实际需求来编写,接收客户端的调用。

将资料写入至模块以后,我们可以通过Arduion 里面的工具-->Serial Monitor 将调试信息输出来,看看是否正确,最终的效果如下图所示:

我也顺应潮流,开通了微信公众号,后续会将博客园的文章同步至公众号!

关注以下公众号,您将获得更多资讯!

如果您觉得该文章对您有帮助,请帮忙点个赞,感谢!!

生产追溯系统-Wifi+传感器,实现计数器以及监控机器是否停止的更多相关文章

  1. 生产追溯系统-Raspberry Pi帮助我们节省大量硬件成本,助力信息化建设

    初识 Raspberry Pi 竟然有这么小的电脑主机?只有手掌这么大?电源线竟然跟手机数据线一样?当我第一次看到Raspberry Pi的时候,在脑海中产生了一连串的疑问,带着这些疑问逐渐开始研究这 ...

  2. 生产制造追溯系统-通过微信小程序实现移动端报表平台

    前言 前两篇文章主要梳理了一下在生产过程中如何更高效.更稳定的实现条码打印,有不少园子里的朋友私信我,互相讨论了一些技术方面的问题,双方都各有收获,再此感谢博客园提供的这个交流平台,让五湖四海的朋友能 ...

  3. 系统内存和CPU管理、监控

    本博文的主要内容有 .系统内存管理.监控:vmstat和free -mt .系统CPU管理.监控:sar -u.mpstat.uptime linux系统内存和CPU是在系统运行的过程中不断消耗的资源 ...

  4. Python 基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控

    基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控   By: 授客 QQ:1033553122   1.测试环境 python 3.4 zookeeper- ...

  5. 生产制造追溯系统-IQC来料检验

    前言 相信大家都知道,任何一家工厂都有自己的仓库,用来存储采购回来的物料,那么在供应商将我们采购的物料送到工厂之后,我们都需要一个检验动作,也就是今天要说的===>IQC来料检验,这个检验动作是 ...

  6. 基于Web的制造追溯系统DEMO

    写在前面 本文不贴任何代码,以图片为主,也许图片更直观,请各位园友谅解! 很久没有写过博客了,这是2016年的第一篇文章:最近主要是忙着完成公司的一个新项目,逛园子的时间都明显少了,只有下班回到家睡觉 ...

  7. ECU 自动化生产测试系统

    概述 ECU(Electronic Control Unit) 是现代车辆中最重要的部件之一,其稳定性.可靠性对车辆安全性的影响至关重要.如何保证ECU 生产质量和效率.如何在生产过程中对ECU 进行 ...

  8. android获取系统wifi状态等

    WIFI 获取WIFI状态 WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE); ...

  9. 机器学习入门18 - 生产机器学习系统(Production ML Systems)

    除了实现机器学习算法之外,机器学习还包含许多其他内容.生产环境机器学习系统包含大量组件.无需自行构建所有内容,而是应该尽可能重复使用常规机器学习系统组件.通过了解机器学习系统的一些范例及其要求,可以明 ...

随机推荐

  1. JStorm源代码阅读——消息的确认机制

    Acker //Acker相当于一个bolt,用于处理事件 public class Acker implements IBolt { private RotatingMap<Object, A ...

  2. 学习 WebService 第二步:知识准备——WSDL文件解析

    原文地址:https://www.cnblogs.com/yzw23333/p/7245104.html Web service中一个 WSDL 对应一个 web service地址. 可以想象成一个 ...

  3. socket编程-微软小兵

    socket两端建立连接,不断开的连接的情况下做数据交互,客户端发送数据和服务端返回数据.直到客户端要求断开,则关闭连接. 代码目录结构:

  4. nvm、node、npm安装以及pycharm配置eslint

    nvm.node.npm之间的区别 1. nvm的官方叫法:nodejs版本管理工具. nvm相当于是家长,一个家长可以管理多个孩子. 也就是说:一个nvm可以管理很多node版本和npm版本. 2. ...

  5. 【Tyvj2133&BZOJ1146】网络管理Network(树套树,DFS序,树状数组,主席树,树上差分)

    题意:有一棵N个点的树,每个点有一个点权a[i],要求在线实现以下操作: 1:将X号点的点权修改为Y 2:查询X到Y的路径上第K大的点权 n,q<=80000 a[i]<=10^8 思路: ...

  6. display的32种写法--摘抄

    你知道『回』字有四种写法,但你知道display有32种写法吗?今天我们一一道来,让你一次性完全掌握display,从此再也不用对它发愁. 从大的分类来讲,display的32种写法可以分为6个大类, ...

  7. 通过OpenGL ES在iOS平台实践增强现实(二)

    上一篇讲到如何使用OpenGL ES绘制一个3D场景,这一篇我们会配合使用iOS提供的CoreMotion框架把虚拟世界中的摄像机的位置朝向和设备实际的位置朝向绑定起来.本文还对防抖做了处理. 首先说 ...

  8. PHP实现15位身份证号转18位

    PHP实现15位身份证号转18位 参考博客: 作者:selfimpr626 来源:CSDN (根据身份证号计算年龄,15位身份证号码转18位) 原文:https://blog.csdn.net/wei ...

  9. Linux 之 文件搜索命令

    文件搜索命令 参考教程:[千峰教育] 文件搜索定位 grep: 作用:通用规则表达式分析程序,是一种强大的文本搜索工具, 它能使用正则表达式搜索文本,并把匹配的行打印出来. 格式:grep [选项] ...

  10. 设计模式原来如此-单例模式(Singleton Pattern)

    简单介绍一下我对Singleton的理解,说的不好请大家多多指点. 单例模式的简单定义就是确保一个类只有一个实例,并提供一个全局访问点. 单例模式有哪些用处呢? 有一些对象其实我们只需要一个,比方说: ...