Exemplo n.º 1
0
        public static bool AddBattery(receivedata data)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into testjdbc.battery(");
            strSql.Append("deveui,msgtype,seqnum,rcvtime)");
            strSql.Append(" values (");
            strSql.Append("@devEUI,@MsgType,@seqnum,@Rcvtime)");
            strSql.Append(";select @@IDENTITY");
            MySqlParameter[] parameters =
            {
                new MySqlParameter("@devEUI",  MySqlDbType.VarChar,  4),
                new MySqlParameter("@MsgType", MySqlDbType.VarChar,  4),
                new MySqlParameter("@seqnum",  MySqlDbType.Int32,    4),
                new MySqlParameter("@Rcvtime", MySqlDbType.DateTime, 0)
            };
            parameters[0].Value = data.devEUI;
            parameters[1].Value = data.MsgType;
            parameters[2].Value = data.seqnum;
            parameters[3].Value = data.Rcvtime;
            int rows = ExecuteSql(strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 解析
        /// </summary>
        /// <returns></returns>
        public static AnalysisAndUpload Parse(byte[] bs, String devEUI)
        {
            AnalysisAndUpload ret     = new AnalysisAndUpload();
            receivedata       rcvdata = new receivedata();
            string            dt      = DateTime.Now.ToString();

            try
            {
                //byte[] bt = FormatBigFlotBytes(bs, 0);
                string MsgTypeandSeqnum = BitConverter.ToString(bs, 0);
                string MsgType          = MsgTypeandSeqnum.Substring(0, 1);
                string Seqnum           = MsgTypeandSeqnum.Substring(1, 1);
                if (MsgType == Convert.ToString(0))
                {//蓝牙beacon扫描数据
                    mySqlConnection = new MySqlConnection(connectionString);
                    try
                    {
                        //Open DataBase
                        //打开数据库
                        //int SeqNum;
                        string beaconmsg;
                        mySqlConnection.Open();
                        beaconmsg = MsgTypeandSeqnum.Substring(3, 71);
                        //byte[] bh = FormatBigFlotBytes(bs, 4);
                        //SeqNum = BitConverter.ToInt32(bh, 0);

                        //byte[] bm = FormatBigFlotBytes1(bs, 8);
                        //beaconmsg = BitConverter.ToString(bm, 0);
                        rcvdata.devEUI    = devEUI;
                        rcvdata.MsgType   = MsgType;
                        rcvdata.BeaconNum = Convert.ToInt32(Seqnum);
                        rcvdata.BeaconMsg = beaconmsg;
                        rcvdata.Rcvtime   = dt;

                        bool update = AddBluetooth(rcvdata);
                        ret.Ret    = update;
                        ret.beacon = "蓝牙beacon数据";
                    }
                    catch (Exception ex)
                    {
                        //Can not Open DataBase
                        //打开不成功 则连接不成功
                        ret.Ret    = false;
                        ret.beacon = "蓝牙beacon数据";
                    }
                    finally
                    {
                        //Close DataBase
                        //关闭数据库连接
                        mySqlConnection.Close();
                    }
                }
                else if (MsgType == Convert.ToString(1))
                {//sos数据
                    mySqlConnection = new MySqlConnection(connectionString);
                    try
                    {
                        //Open DataBase
                        //打开数据库
                        //int SeqNum;
                        //string beaconmsg;
                        mySqlConnection.Open();

                        //byte[] bh = FormatBigFlotBytes(bs, 4);
                        //SeqNum = BitConverter.ToInt32(bh, 0);
                        rcvdata.devEUI  = devEUI;
                        rcvdata.MsgType = MsgType;
                        rcvdata.seqnum  = Convert.ToInt32(Seqnum);
                        rcvdata.Rcvtime = dt;

                        bool update = AddSos(rcvdata);
                        ret.Ret = update;
                        ret.sos = "sos数据";
                    }
                    catch (Exception ex)
                    {
                        //Can not Open DataBase
                        //打开不成功 则连接不成功
                        ret.Ret = false;
                        ret.sos = "sos数据";
                    }
                    finally
                    {
                        //Close DataBase
                        //关闭数据库连接
                        mySqlConnection.Close();
                    }
                }
                else if (MsgType == Convert.ToString(2))
                {//终端低电量数据
                    mySqlConnection = new MySqlConnection(connectionString);
                    try
                    {
                        //Open DataBase
                        //打开数据库
                        //int SeqNum;
                        //string beaconmsg;
                        mySqlConnection.Open();

                        //byte[] bh = FormatBigFlotBytes(bs, 4);
                        //SeqNum = BitConverter.ToInt32(bh, 0);
                        rcvdata.devEUI  = devEUI;
                        rcvdata.MsgType = MsgType;
                        rcvdata.seqnum  = Convert.ToInt32(Seqnum);
                        rcvdata.Rcvtime = dt;

                        bool update = AddBattery(rcvdata);
                        ret.Ret     = update;
                        ret.battery = "终端低电量数据";
                    }
                    catch (Exception ex)
                    {
                        //Can not Open DataBase
                        //打开不成功 则连接不成功
                        //mqttdata ret = new mqttdata();
                        ret.Ret     = false;
                        ret.battery = "终端低电量数据";
                    }
                    finally
                    {
                        //Close DataBase
                        //关闭数据库连接
                        mySqlConnection.Close();
                    }
                }
                //else if (MsgType == Convert.ToString(3))
                //{//GNSS数据
                //    mySqlConnection = new MySqlConnection(connectionString);
                //    try
                //    {
                //        //Open DataBase
                //        //打开数据库
                //        mySqlConnection.Open();


                //    }
                //    catch (Exception ex)
                //    {
                //        //Can not Open DataBase
                //        //打开不成功 则连接不成功


                //    }
                //    finally
                //    {
                //        //Close DataBase
                //        //关闭数据库连接
                //        mySqlConnection.Close();

                //    }


                //}
            }
            catch
            {
                //mqttdata ret = new mqttdata();
                ret.Ret = false;
            }

            return(ret);
        }