1.产品概况
WT-102-M 位移振动探测器是一款高灵敏度的报警探测器,广泛应用于检测位移、倾斜报警、振动报警距离等场合,可以方便安装于ATM机、保险柜等金属机柜。
2.产品介绍
2.1、产品组成
2.2、技术参数
工作电压:6-12V 50mA
工作温度:-40℃-80℃
测量范围:
位移角度:
X轴:3° Y轴:3° Z轴:3°
振动范围:
振动频率:10Hz-1000Hz
设备接口:本设备提供开关量输出口
接线:
棕:(正) 黑:(负)
蓝:(开关) 白:(开关)
...
阅读全文>>
微信公众号现已外包专业团队运营,
最新的单片机/嵌入式设计,
您或许是电子专业学生,或许是研发人员,或许是项目经理,这些设计都值得您
拥有,扫描关注吧!
qq:839602830
qq交流群:259642422
官方微博:鲤鲸科技
阅读全文>>
在Linux下编程使用socket 客户端连接服务器时发现一个问题
有网友测试
(1)客户端已经连接,当服务端关闭程序时,客户端调用send函数发送失败,WSAGetLastError() 返回10054(远程主机强迫关闭了一个现有的连接)
(2)客户端已经连接,当客户端关闭程序时,服务端调用recv函数接收失败,WSAGetLastError() 返回10054(远程主机强迫关闭了一个现有的连接) ,这时对这个客户端的socket调用select函数时,会立即返回可读。
(3)客户端已经连接,当服务端关闭程序时,客户端调用recv函数接收失败,WSAGetLastError() 返回10...
阅读全文>>
已经试验确认无误。
#include<stdio.h>
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
...
阅读全文>>
locate -r mysqlcli
/root/sh-1.5.5/mysql/mysql-5.6.21-linux-glibc2.5-x86_64/lib/libmysqlclient.a
/root/sh-1.5.5/mysql/mysql-5.6.21-linux-glibc2.5-x86_64/lib/libmysqlclient.so
/root/sh-1.5.5/mysql/mysql-5.6.21-linux-glibc2.5-x86_64/lib/libmysqlclient.so.18
/root/sh-1.5.5/mysql/mysql-5.6.21-linux-glibc2.5-x86_64/lib/libmysqlclient.so.18.1.0
/root...
阅读全文>>
linux中使用ttl和232串口同时发送和接收是不存在数据冲突的,
但是如果使用485串口通信时,要考虑到如果两端同时往串口里边赛数据则一定会导致异常,因为485串口是差分信号,不同于
232串口RX和TX是分开的互不干扰的。
当然,此问题不仅出现在linux上,stm32其他单片机也会出现。
阅读全文>>
自打上学那会儿迷上智能小车后,便时不时的逛逛这方面的论坛和设计。
几年下来,衍生了一款GPS定位小车的想法。
知识储备
c语言编程;
GPS经纬度知识;
地磁知识;
硬件知识;
linux操作系统编程;
安卓APP编程基础;
服务器编程基础;
在这之前想过做一款能拍照的无人机,但由于知识储备更丰厚,所以先从陆地上开始简单的。
初步计划;
1 能采集GPS经纬度信息;
2 能辨别当前车头航向;
3 能通过手机设置目标经纬度;
4 能根据差值掉头算法;
5 能达到目的地;
...
阅读全文>>
创建WiFi热点使用的GitHub上一个开源项目:
https://github.com/oblique/create_ap
具体在树莓派上操作为:
#将代码copy到本地,安装 git clone https://github.com/oblique/create_ap
cd create_ap
make install #安装依赖的库
apt-get install util-Linux procps hostapd iproute2 iw haveged dnsmasq
#创建WiFi热点(GitHub上有多种方式创建,可以查找自己需要的那种)
sudo create_ap wlan0 eth0 热点名 密码 #开机启动
#将sudo create_ap wla...
阅读全文>>
通过不断搜索,大多说都是将树莓派用作主机去连接其他的从机设备,所以需要人为主动去连接。
而实际项目中是用树莓派作从机,让手机APP主动去连接他的,所以需要配置正确。
在开始的时候,发现树莓派的蓝牙有个问题:手机压根搜不到。这就尴尬了,如果搜不到树莓派,那么手机跟谁连接呢。后来在网上搜了一下,树莓派上有个程序叫bluetoothctl,可以进入一个蓝牙专用的命令行来操作蓝牙。蓝牙中需要开启发现才能让别的设备搜索到,进入bluetoothctl命令,使用discovery命令开启其他设备可见。
第一步:
在命令行输入 Bluetoothctl
后会进入 Bluetooth 的模式。
...
阅读全文>>
每个小伙子心中都一个飞机坦克大炮的梦想,小时候家里太穷只玩过四驱兄弟的小赛车。
把以前做过小车的资料及一些图片打算都开源了 。
这都是大学时和刚毕业那1-2年玩的 ,主要是小时候特别喜欢和爱好,才做的这些。现在那个劲儿已经过去了 。分享和纪念一下
这是一张镇楼图
这是第一辆小车,用专业的视频通讯模块,在电脑上查看视频。这个很乱。老师一看就是学生自己动手做的。
很具有说服力,哈哈。用手机蓝牙查看温度,湿度等信息,以及控制它前后左右动作。
这是履带小车,加手机WiFi视频观察,利用stm32做的
这是
这个就很简单了 完全利用stm8和蓝牙用手机实现控...
阅读全文>>
#include <wiringPi.h> //I2C 库
#include <wiringPiI2C.h> //I2C 库
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include<unistd.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <linux/i2c-dev.h>
#include <linux/i2c.h>&nb...
阅读全文>>
在linux下接入一个hid的usb设备,但设备不是
键盘 也不是鼠标,而是 一个二维码扫码模块。
根据Linux的input event的事件
linux/input.h中有定义,这个文件还定义了标准按键的编码等
struct input_event {
struct timeval time; //按键时间
__u16 type; //类型,在下面有定义
__u16 code; //要模拟成什么按键
__s32 value;//是按下还是释放
};
/*
* Event types
*/
#define EV_SYN 0x00
#define EV_KEY 0x01 //按键
#define EV_RE...
阅读全文>>
cat /proc/bus/input/devices
使用该指令可以获取有哪些usb hid的设备,比如有一个鼠标 ,kbd对应的是event0
一个二维码扫描的是newland event1
root@freescale /home$ cat /proc/bus/input/devices
I: Bus=0019 Vendor=0000 Product=0000 Version=0000
N: Name="20cc000.snvs-pwrkey"
P: Phys=snvs-pwrkey/input0
S: Sysfs=/devices/soc0/soc.0/2000000.ai...
阅读全文>>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <netdb.h>
#include <netinet/in.h>&nbs...
阅读全文>>
蓝牙整个开发板处于低功耗模式,而是单独的模块,实测平均睡眠功耗 1uA,最
低功耗 0.4uA,广播瞬时功耗 130uA,默认 2s 广播一次。
假如我们使用的场景是一天持续广博数据10次 ,每次6秒,那么一天所消耗的电流为130uA 130uA持续供电时
一节300mAh的纽扣电池 可在理想供电下 的天数为 300mAh 就是 300MA的电流能持续供电1个小时。130uA的电流则能用 300mah/130uA=2307h
96天约为3个月 实际上 蓝牙不会一直广播,一天可能工作5次 一次持续10s 这样子。一天也就50s。
一天24小时可以达到2307小时
...
阅读全文>>
int OpenDev(char *Dev,int baudrate)
{
speed_t speed;
int i=0;
int fdt,c=0,num;
struct termios oldtio,newtio;
speed = getBaudrate(baudrate);
fdt=open(Dev,O_RDWR | O_NONBLOCK| O_NOCTTY | O_NDELAY);
if(fdt<0)
{
per...
阅读全文>>
int OpenDev(char *Dev,int baudrate)
{
speed_t speed;
int i=0;
int fdt,c=0,num;
struct termios oldtio,newtio;
speed = getBaudrate(baudrate);
fdt=open(Dev,O_RDWR | O_NONBLOCK| O_NOCTTY | O_NDELAY);
if(fdt<0)
{  ...
阅读全文>>
使用aplay 播放wav文件
但是声音太小如何调节大音量 。
我使用的是飞凌的的控制器,外壳有个耳机插孔。
root@freescale ~$ amixer sset Headphone 101,101
Simple mixer control 'Headphone',0
Capabilities: pvolume penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 127
Mono:
Front Left: Playback 101 [80%] [-20.00dB]
...
阅读全文>>
总体概述
本设计是基于51单片机stm8s(体积小只有20个管脚)和蓝牙4.0以及手机APP实现的防丢器,功能类似当前最常见的蓝牙手机APP监控远端报警,比如钥匙链,行李箱等终端蓝牙。当手机APP无线接收范围的区域内时,蓝牙终端不会报警。由于stm8是一款可编程的单片机所以可以控制外设比如鸣响蜂鸣器,该模块体积小,安装方便,并且使用串口通讯协议,不需要了解蓝牙协议栈,适合初学者,手机APP可显示大概距离,并根据距离报警,另外手机APP上的报警按钮按下后远端的防丢器会鸣叫很容易找到,并且可用锂电池供电。
实现思路:
手机APP和蓝牙4.0模块配对,然后APP会一直检测4.0 蓝牙模块读取rssi的值,并根据一定的算法转换成大改的距离值,经过测试该数据值误差...
阅读全文>>
if((nread=read(fd,msg,sizeof(msg)))>0)
{
recvTotal+=strlen(msg);
printf("recvTotal=%4ld num = %2d recv = %s \n",recvTotal,recenum,msg);
for(i=0;i<strlen(msg);i++)
{
printf("%x",msg[i]);
}
printf("\n");
memset(msg,'\0',sizeof(msg));
在程序中使用read()函数时,读出的buf记得要memset,否则影响读取...
阅读全文>>
在imx6ul上调试 串口 使用cat /dev/ttymxc3 发现没有数据输出 ,也只能用c语言写程序测试了。
拜读某网友的文章,他说linux的串口有三种读取方式,第一种是最简单的循环轮训读取,这个就跟单片机的死循环一直检测某个端口一样的道理。
第二种是就是通过软中断的方式,使用信号signal机制模拟中断,这个信号的发生和处理无异于硬件中断,具体的和单片机的uart_hander()硬件中断一样,单片机中串口有数据到达时会直接进入中断服务函数,在arm linux操作系统下,通过函数 signal(SIGINT,SignHandler);函数引入中断。第三种是通过是select的机制系统调用,在没有数据时阻塞进程,也可以设置成非阻塞形式,...
阅读全文>>
电能质量芯片ade7880在arm linux上的驱动移植
本说明是基于imx6ul的Linux操作系统。由于官方没有给出ade7880的Linux驱动,所以使用spidev总线的方式操作ade7880.
在测试之前请确认ade7880的硬件已经OK,并且在 /dev 的目录下有spidevx.0 和gpio。
使用spi的四线制 也就是cs片选线有spi自己通过硬件转换,而不是软件程序控制,这种方式经过测试发现存在问题。片选的时序问题造成读取的数据一直
是0xff,所以cs片选使用软件控制,也就是当成一个gpio 来控制高低电平的输出转换。
spi初始化之前 先要给ade78...
阅读全文>>
arm linux gpio控制使用/dev/gpio 实现
1、在设备树文件中添加设备节点定义以及其引脚定义:
并将其他复用引脚对应的功能disabed,保证这些引脚没被重复定义使用。引脚的pinmux可以查看imx6ul-pinfunc.h文件。
2、在driver/misc/gpio目录下添加gpio驱动gpio-user.c,名字需要与节点定义里的驱动名字保持相同,客户也可以自己写驱动。同时添加Kconfig和Makefile文件。
修改driver/misc下Kconfig和Makefile文件:
在driver/misc/Makefile 中添加:
...
阅读全文>>
ADE7878是一款电能质量芯片,使用spi通信接口,
功能如下:
兼容三相三线或三相四线(三角形或星形)及其它三相配置
测量各相及整个系统的总(基波和谐波)有功/无功(ADE7878、
ADE7868和ADE7858)/视在功率和基波有功/无功功率
(仅限ADE7878)
T
A = 25°C时,在1000:1的动态范围内有功和无功功率误差小
于0.1%
T
A = 25°C时,在3000:1的动态范围内有功和无功功率误差小
于0.2%
支持电流互感器和微分(di/dt)电流传感器
零 线 电 流 输 入 采 用 专 用 ADC通 道 (仅 限 ADE7868和
ADE7878)
T
A = 25°C时,在1000:1的动态范围内电压...
阅读全文>>
物联网平台一般主要包含三个系统,终端控制系统,云平台系统,客户端APP系统。
终端设备控制系统可以是单片机,arm,linux,负责数据采集,汇总简单处理及上传以及接受指令控制外围设备响应。
较复杂的终端系统也许会是安卓系统,Linux系统,然后通过WiFi,ZigBee,串口,485等工业常用的通信口,又以总线方式接入外围许多从设备。从设备又可以是arm 单片机或其他传感器之类。负责上传的设备需要有以太网或者GPRS 4G等通信功能。常见的安卓终端设备比如一些购物柜 猜测友宝可能是。
云服务器一般是公网IP的服务器,常见的有linux Windows系统。Linux下我一般部署lNMP 架构,比较成熟稳定方便维护。
安卓APP就是...
阅读全文>>
之前使用阿里云的推荐的lnmp安装包 太垃圾了
后来在网上搜到LNMP 1.4一键安装包
地址 https://lnmp.org/
安装成功了,也能访问了。
安装教程 https://lnmp.org/install.html
下载指令
wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz
阅读全文>>