物联网挑战赛
主要自学链接参考以下
前言
此篇博客:
从基础内容到进阶代码实验,手把手教你进阶物联网挑战赛。
提示:学习内容均来自各大网页转载,可供参考
一、物联网挑战赛基础介绍
1.物联网平台说明文档:某风吾起 CSDN
2.nesC编程入门 : ZYVV 博客园
3.TinyOS编程思想和Nesc基础语法:wangzihao 博客园
4.赛前准备资料 :晚风微凉 CSDN (vip)
二、TinyOS操作系统
1.TinyOS编程:某风吾起 CSDN
2.操作系统介绍: 灵思致远 CSDN
3.tinyos 官方文档: TinyOS Documentation Wiki
二、博主实验
1.点对点 串口 通信:某风吾起 CSDN
2.BlinktoRadio 点灯:「已注销」 CSDN
三、Serial代码、组件介绍
1.接口和组件介绍:博乐Bar CSDN
2.SerialC: cenpengtao CSDN
四、教学视频
1.挑战赛教学视频:令月二十二 bilibili
五、部分题目
1. 2021 题目:晚风微凉 CSDN
2. 2019题目:社区 CSDN
3.练习题
练习题(共1题,总分100分)
赛题:
所有节点不安装天线,已知0号点位于左上角,其他11个节点ID号随机未知(介于1-255),参赛队需编写所有节点的代码,完成节点间的信息传递,最终0号节点打印输出未知的11个节点的ID号。
注意:
1)12各节点只允许编写一份代码,节点可通过宏TOS_NODE_ID获取自身ID号;
2)代码烧录完毕10秒后停止评分;
3)不安装天线时,参赛队需考虑节点的通信距离;
4)评分时不核查代码的逻辑,仅以最终的节点输出作为判分依旧;
计分规则:
本赛题满分为100分,其中正确性得分55分,开销得分(正确性得分在45分以上才可以获取开销分得分)45分:
正确性得分(55分): 5× n (n为输出正确ID的个数 )
开销分得分(45分):(1800-m)/38 (10<m<200,m为11个节点的发包数总和)
其中 m <10时,开销分得分为45分;m>200时,开销分得分为0分;
格式说明:
1)0号点结果打印格式: Data + 11个ID号(10进制,空格隔开,顺序不限)
例如: Data 1 3 5 6 7 8 10 20 12 33 44
2)参赛队需在输出结果的printf语句后加入”\n”换行符,以表明语句的完结;
3)结果可多次重复输出,但计分时只会取0号节点输出的最后一组携带有Data标志位的语句进行核算,且只会取前11位ID号进行计算,错误、重复的ID号皆不得分,顺序可颠倒;
如存在的 ID为:1 2 3 4 5 6 7 8 9 10 11时
参赛队答案1:Data 2 1 3 4 5 6 7 8 9 10 11 (正确11个,正确性得分55分)
参赛队答案2:Data 1 2 3 5 4 6 7 8 9 10 (正确10个,正确性得分50分)
参赛队答案3:Data 1 2 3 4 5 6 7 8 9 10 10 (正确10个,正确性得分50分)
参赛队答案4:Data 1 2 3 4 5 6 7 8 9 10 11 12 13 (正确11个,正确性得分55分)
参赛队答案5:Data 1 2 3 4 5 6 7 8 9 10 12 (正确10个,正确性得分50分)
评分步骤:
编译烧录参赛队代码(所有节点);
对0号节点进行Printf监听,并开始计时;
10秒后停止监听,核实0号点输出结果,计算出得分;
疑问解答:
问题1:怎么设置节点的ID号?
在平台上,有设置节点的按钮,点击即可设置为任意节点编号。
问题2:不安装天线时,对节点有什么影响?
不安装天线时,由于节点实际物理位置空间的不同,其通信的距离也各不相同,无法直接确定各节点的通信范围,参赛队需考虑网络的随机性和多跳传输等问题。
问题3:怎么计算自己发了多少数据包(开销计算问题)?
参赛队可在自己的发包语句后加上计数值,并打印出来,但需注意,分发和汇聚协议的底层路由包的计数此方法无法直接输出。
总结
初步介绍了物联网挑战赛的初学者如何入门已经给出学习资料,若有更好的学习资料,请于评论区分享留言
本文初步介绍了物联网挑战赛部分资料以及各位大佬博主的文章,文章均注明出处与链接,若侵权,请系删,若转载请注明出处。
版权声明:本文为m0_63499399原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。