物联网工程关键技术学习心得

目录

心得体会 

窗体设计界面

代码部分

总结


心得体会 

在大二学期学习了《物联网工程关键技术》这门课程的过程中,我受益匪浅。这门课一共72课时,老师在课上给我们很多关于物联网技术的原理知识,遇到问题时也给我们解惑答疑。经过在课上实践学习,我对物联网技术有了更加全面和深入的了解。

 其中,这门课程上使我明确了物联网的定义和相关概念。我了解到物联网由感知层、传输层和应用层组成,各个层级之间的相互连接与通信是实现物联网功能的关键。其次,这门让我学到物联网技术的一部分,如:RFID应用技术和ZigBee无线通讯技术。

  • RFID应用技术

 射频识别( Radio Frequency ldentification,RFID) ,这门技术是实现物联网的关键技术,在社会上使用范围广泛,比如常见的在学校平时去吃饭时刷校园卡、和身份证识别、坐公交时刷公交卡,这些都与这门技术相关联。在课上,老师分别教我们低频高频超高频的通信协议指令,刚开始学时,感到十分新奇好玩,刷一下就能显示到上位机串口界面。同时,老师留的课堂作业也很有挑战性,其中包括“停车场收费系统”。我觉得学好这门关键技术,出去找工作是一门强项本领。

  • ZigBee无线通讯技术

 ZigBee是一种低功耗、短距离的无线通信技术,它被设计用于物联网设备之间的数据传输和通信。这门技术在物联网应用中得到广泛应用,包括智能家居、工业自动化、智能医疗和环境监测等领域。而且在广西职业技能竞赛的“物联网应用与维护”赛项中的设备也使用到ZigBee,ZigBee作用很大。在老师教了我们ZigBee无线通信原理和应用,ZigBee是基于CC2530的单片机芯片,但内核基于8051内核,学习起来很方便。这门技术我学到了上位机控制ZigBee点灯、ZigBee组网通信流水灯。


接下来,我给大家展示课堂作业“停车场收费系统”

窗体设计界面

高频停车场收费系统是一种用于管理停车场收费的软件系统,它基于C#窗体设计界面开发,具有直观易用的特点。当前界面用的lable标签和文本框、按钮这些控件。

停车场信息管理界面:该界面用于管理停车场的基本信息,包括出入场时间、停留时间、余额消费等。用户可以在该界面进行停车场信息的添加、修改和删除操作。

  •  运行 点击入场

 

  •  如果目录没有生成“停车场消费记录”会自动创立,记录出场

  •  入场 余额200元

 

  • 出场  停留40秒 1秒2块钱(方便查看) 消费80元

 


代码部分

  • 入场事件

入场用了一个FileStream类来创建文本,方便记录入场的卡号与时间

声明了两个字符串变量ka和time。判断文件是否存在。如果文件存在,则读取文件内容到变量txt_Ka。获取用户输入的卡号,并将其存储在变量ka中。


判断txt_Ka是否包含ka。如果包含,则显示一个消息框提示“卡号已入场”。如果不包含,则创建一个StreamWriter对象write,以追加模式打开文件,并将当前时间和金额写入文件。如果文件不存在,则创建一个新的文件流。​​​​​​​

private void button18_Click(object sender, EventArgs e) // 入场
        {
            //txtSend.Text = "";
            //txtReceive.Text = "";
            //status_num = 19;

            //String str1 = "FF 55 00 00 01 03 00 30 75";
            //byte[] data = getBytesFromString(str1);
            //com.Write(data, 0, data.Length);
            //txtSend.Text = str1;
            //Delay(1000);

            string ka, time;

            if (File.Exists(path) == true) //判断文件是否创建
            {
                txt_Ka = File.ReadAllText(path);
                ka = txtInformation.Text;
                if (txt_Ka.Contains(ka)==true)//判断卡号
                {
                    MessageBox.Show("卡号已入场");
                }
                else
                {
                    StreamWriter write = new StreamWriter(path, true);
                    textBox19.Text = Convert.ToString(DateTime.Now);
                    textBox21.Text = "200元";

                    time = textBox19.Text;

                    write.WriteLine(ka);
                    write.WriteLine(time);
                    write.Close();
                }
            }
            else
            {
                FileStream logon1 = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
                logon1.Close();
            }

        }
  • 出场事件

出场的话用了File类来读取文本的卡号,并判断卡号存在,使用循环遍历数组t_ka,找到与c_ka匹配的卡号。

获取该卡号和对应的时间,并进行时间计算和金额计算。更新显示金额和计时器的文本框内容。

然后根据读取入场写的文本时间来和现在时间相减,得到停车停留时间。

private void button19_Click(object sender, EventArgs e) //出场
        {
            //txtSend.Text = "";
            //txtReceive.Text = "";
            //status_num = 20;

            //String str1 = "FF 55 00 00 01 03 00 30 75";
            //byte[] data = getBytesFromString(str1);
            //com.Write(data, 0, data.Length);
            //txtSend.Text = str1;
            //Delay(1000);

            string[] t_ka = new string[50];
            string c_ka, c_time, t_time,k,o,s;
            int c_hour, c_min, c_sec, t_hour, t_min, t_sec, timer, C_money;

            if (File.Exists(path) == true)
            {
                txt_Ka = File.ReadAllText(path);
                c_ka = txtInformation.Text;
                if (txt_Ka.Contains(c_ka) == true)
                {
                    c_time = textBox20.Text = Convert.ToString(DateTime.Now);

                    StreamReader reader = new StreamReader(path);

                    for (int i = 0; i < 50; i++)
                    {
                        t_ka[i] += reader.ReadLine();
                    }

                    reader.Close();

                    for (int i = 0; i < 50; i++)
                    {
                        if (t_ka[i] == c_ka)
                        {
                            k = t_ka[i]+"\r\n";
                            o = t_ka[i+1]+ "\r\n";
                            t_time = t_ka[i + 1];
                            t_time = t_time.Remove(0, 9).Replace(":", "");
                            t_hour = Convert.ToInt32(t_time.Substring(0, 2)) * 3600;
                            t_min  = Convert.ToInt32(t_time.Substring(2, 2)) * 60;
                            t_sec  = Convert.ToInt32(t_time.Substring(4, 2));
                            c_time = c_time.Remove(0, 9).Replace(":", "");
                            c_hour = Convert.ToInt32(c_time.Substring(0, 2)) * 3600;
                            c_min  = Convert.ToInt32(c_time.Substring(2, 2)) * 60;
                            c_sec  = Convert.ToInt32(c_time.Substring(4, 2));

                            t_time  = (t_hour + t_min + t_sec).ToString();
                            c_time  = (c_hour + c_min + c_sec).ToString();
                            timer   = int.Parse(c_time) - int.Parse(t_time);
                            C_money = timer * 2;
                            money   = 200-C_money;

                            textBox21.Text = money.ToString() + "元";
                            textBox22.Text = timer.ToString() + "秒";
                            textBox23.Text = C_money.ToString() + "元";

                            s = txt_Ka.Replace(k+o,"");
                            File.WriteAllText(path,s);
                        }
                    }

                }
                else
                {
                    MessageBox.Show("卡号不存在");
                }
            }

            else
            {
                MessageBox.Show("文件不存在");
            }
        }

总结

在学习《物联网工程关键技术》课程的过程中,我对物联网的关键技术有了更深入的了解和掌握。这门课程不仅让我认识到物联网的潜力和广阔前景,也让我意识到物联网工程在未来的科技发展中扮演着重要的角色。谢谢阅读。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值