Contiki is an open source operating system targeted for resource constrained, low power IoT systems. Contiki provides IP communication, both for IPv4 and IPv6. The Contiki OS kernel does not provide any hardware abstraction, but it allows device drivers and applications to directly communicate with the hardware.
For more information, see
https://anrg.usc.edu/contiki/index.php/Cooja_Simulator. Cooja is a network simulator based on Contiki.
In this task, you will use Contiki & Cooja to simulate a 6LoWPAN mesh.
You can use the Instant Contiki development environment in the exercises. Instant Contiki is a single file download that contains the Contiki source code and all necessary compilers and tools required for developing software for Contiki.
- Read the concepts & recommended readings introduced in Week 3
- Follow the instructions to complete this task2
For this task, we will be using a preconfigured virtual machine with the Contiki OS installed. You will setup a virtual machine on your PC or laptop with VirtualBox.
Note: The Contiki default password is ‘user’.
- First, download and install Contiki using the steps at https://inrg.soe.ucsc.edu/howtosetup-instant-contiki-with-virtualbox/
Note: You should not attempt to change the Disk size for Contiki clone (You should leave HDD Disk size as default 10GB). If you do, they template will give a vague error and will not produce a clone.
- When starting the Contiki virtual machine, log in using the password “user”.
- Start Contiki and Cooja as given in
More specifically, the command is “cd contiki/tools/cooja” and “ant run”.
- You can also double click on the Cooja icon to start Cooja.
- Create a new simulation and name it <your student id>6lowpan1
- Add a border router (gateway). Border routers are network devices (refer to Week 2 lecture) and function as gateways between the sensing user devices and the cloud. In this task, the border router will be collecting all the data from the sensor servers. Follow the guide here: https://youtu.be/3I6f-mo_rH0
- Navigate to
/home/user/contiki-2.7/examples/ipv6/rpl-borderrouter/border-router.c. Add 5 sensing Sky motes. Position the motes so that mote
- 6 is out of range of the border router. Follow the guide here:
https://youtu.be/OAlwUl0At-8. Note: Don’t worry about the exact positioning of the motes. Just make sure sensor motes no. 2, 3, 4 & 5 are within range of the border router. Green region shows the best signal range while grey region shows range with potential interference. Click on the node (small green circule) to see the larger range circles.
- The next step is to connect the border router to the outside world using a Serial Socket.
This will map the border router node’s serial port to a UDP port on the host computer that runs Cooja.
a.In Cooja, right click on the border router in the Network view, More tools for
SKY-> Serial socket (SERVER). This will create a new window in the Cooja GUI.
By default the UDP port is 60001. Click ‘Start’ (if needed).
b.In Contiki, open a terminal and change directory to
contiki/examples/ipv6/rpl-border-router. Type ‘make connect
router-cooja’ and press Enter.
c.Password is ‘user’
d.Observe the output on terminal. Now our bridge is ready! Our web address will run on localhost.
e.Now go back to the Cooja simulation and press the ‘start’ button to start the simulation. Demo: https://youtu.be/VNIPRnG8GIg (Use `make clean’ if there are issues).
Observe the server IP address on the terminal. It will be IPV6 e.g.: aaaa::212:7401:1:101
- In Cooja, look at the Network window. Can you see the network connections (blue arrows) in the simulation?
- Now inside Contiki, open a browser and go to [aaaa::212:7401:1:101]. Observe the‘neighbours’ (direct neighbours of the gateway) and the ‘routes’.
- Move the motes 4 and 5 inside the best signal region of the border router (green).
Reload the browser. Has the browser output changed?
Your task submission should include:
- Screenshot of your Cooja UI, with the simulation name (<your student id>6lowpan1) clearly visible.
- Screenshot of your terminal output.
- Screenshot of your browser after step 9.
- A written reflection (not more than 1 page) on what the simulation demonstrated. In particular, the reflection should explain the significance of the neighbors and the routes in the browser output.
- Submit this as a single report as a PDF to onTrack.
Demonstrate understanding of 6LoWPAN mesh networks.
本网站支持 Alipay WeChatPay PayPal等支付方式
E-mail: firstname.lastname@example.org 微信号:vipnxx