单片机解密|CC2530 ZigBee人体红外传感器
单片机解密|本系统实现了Zigbee组网监测,应用于变电站使用,多节点监测,上位机软件实时显示状态,同时检测到有人入侵就会报警。上位机将数据实时存到mysql数据库中。便于后续管理查询。Zigbee协调器连接上位机,Zigbee终端连接传感器。主控芯片采用CC2530
上位机采用VS2019进行编程开发,Zigbee代码采用IAR开发,硬件电路图采用AD17
展示视频链接:
https://www.bilibili.com/video/BV1wY4y1t7fJ
单片机解密|上位机源代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.IO.Ports;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;//添加对MySql.Data.MySqlClient的引用。
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.IO.Ports;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;//添加对MySql.Data.MySqlClient的引用。
namespace Test
{
public partial class Form1 : Form
{
{
public partial class Form1 : Form
{
MySqlConnection conn;//定义数据库连接
MySqlCommand cmd = new MySqlCommand();//定义数据库执行操作类
MySqlDataAdapter adapter;
DateTime dtStart;//用于在批量添加测试时,记录添加数据库记录的开始时间
DateTime dtEnd;//用于在批量添加测试时,记录添加数据库记录的结束时间
private int sum = 0;//用于在批量添加测试时,记录要添加数据库记录的总数
string user_data_tebles_ck ="cktables";
string user_data_tebles_ck2 ="cktables2";
string user_data_tebles_log = "log";
string user_data_tebles_ck2 ="cktables2";
string user_data_tebles_log = "log";
string server_ip = "127.0.0.1";
string server_port = "3306";
string mysql_user = "root";
string mysql_pass = "0000000000";
string mysql_dataname = "info";
string server_port = "3306";
string mysql_user = "root";
string mysql_pass = "0000000000";
string mysql_dataname = "info";
// CREATE Database `spdata` DEFAULT CHARACTER SET utf8;
// CREATE Database `test` DEFAULT CHARACTER SETutf8;
//CREATE TABLE `user` (
// `id` int (11) NOT NULL AUTO_INCREMENT,
// `序列号` varchar(45) DEFAULT NULL,
// `商品名称` varchar(45)DEFAULT NULL,
// `商品价格` varchar(45)DEFAULT NULL,
// PRIMARY KEY(`id`)
//) ENGINE=InnoDB DEFAULT CHARSET=utf8;
//CREATE TABLE `log` (
// `id` int (11) NOT NULL AUTO_INCREMENT,
// `time` varchar(45) DEFAULT NULL,
// `states` varchar(45) DEFAULT NULL,
// PRIMARY KEY(`id`)
//) ENGINE=InnoDB DEFAULT CHARSET=utf8;
// `id` int (11) NOT NULL AUTO_INCREMENT,
// `time` varchar(45) DEFAULT NULL,
// `states` varchar(45) DEFAULT NULL,
// PRIMARY KEY(`id`)
//) ENGINE=InnoDB DEFAULT CHARSET=utf8;
public Form1()
{
InitializeComponent();
}
private bool OpenConnection()
{
try
{
String connetStr ="server='" + server_ip + "';port='" + server_port +"';user='" + mysql_user + "';password='" + mysql_pass +"'; database='" + mysql_dataname + "';" +"charset=utf8"; ;
{
InitializeComponent();
}
private bool OpenConnection()
{
try
{
String connetStr ="server='" + server_ip + "';port='" + server_port +"';user='" + mysql_user + "';password='" + mysql_pass +"'; database='" + mysql_dataname + "';" +"charset=utf8"; ;
//server=127.0.0.1/localhost 代表本机,端口号port默认是3306可以不写
conn = newMySqlConnection(connetStr);
conn.Open();//打开通道,建立连接,可能出现异常,使用try catch语句
Console.WriteLine("连接正常!");
return true;
}
catch (MySqlException ex)
{
switch (ex.Number)
{
case 0:
MessageBox.Show("不能连接服务器!");
break;
case1045:
MessageBox.Show("账号密码错误!");
break;
case1046:
MessageBox.Show("数据库未选择");
break;
conn = newMySqlConnection(connetStr);
conn.Open();//打开通道,建立连接,可能出现异常,使用try catch语句
Console.WriteLine("连接正常!");
return true;
}
catch (MySqlException ex)
{
switch (ex.Number)
{
case 0:
MessageBox.Show("不能连接服务器!");
break;
case1045:
MessageBox.Show("账号密码错误!");
break;
case1046:
MessageBox.Show("数据库未选择");
break;
default:
MessageBox.Show("未知错误!",ex.Number.ToString() + ex);
break;
MessageBox.Show("未知错误!",ex.Number.ToString() + ex);
break;
}
return false;
}
return false;
}
}

芯片解密