The Internet is a scalable global network of computers that interoperates across heterogeneous hardware and software. On top of the Internet, the Web is an outstanding example of how a set of relatively simple and open standards can be used to build very complex systems while preserving efficiency and scalability. The Web and its underlying open protocols have become a part of our everyday life — something we access at home or on the move, through our laptops, phones, tablet, TV, or wearable devices. It has changed the way we communicate and has been a key factor in the way the Internet has transformed the global economy and societies around the world.
Meanwhile, the Internet of Things will allow physical objects to transmit data about themselves and their surroundings, bringing more information about the real world online and help users to better interact with their surroundings. Flowers, for example, can send you an email or a SnapChat photo of your flower when they need watering. Doctors can implant sensors in your body that give you real-time updates about your health updating frequently to a secure online database of your personal data. Even more, IoT data will go beyond the scope of each own service provider to go online and share with other applications and users.
In the next Web, applications will interact with smart objects through communication networks using open Web standards. These applications are the natural evolution of Web application when today’s Internet is transforming to the Internet of everything to include smart objects in the loop. There can be an application to get access to your Google calendar with the note of cleaning your living room to have your mother visit in few hours. The application then asks your robot cleaner to automatically wake up and do cleaning. Robot cleaner notifies you (by sending an email or a SnapChat message) when it starts working or finishes the work. Another application can let you talk to your devices in the way you talk to your friend with the support of natural language processing engines; this is the new experience of making friendship with your devices. Yet another application can serve you in the airport to update the status of the flight, providing practical information in the airport, connecting to the boarding machine to update you for any delay of boarding time that you can spend more time doing shopping in duty free. Yet another application can synchronize your TV programs and football schedule and also your social network profile to remind you an upcoming match. These applications all require the interactions of existing Web services and new services from smart objects to create new user experience while assuring the seamless transition from developing traditional Web applications to this new type of the next Web applications.
ThingsChat
Internet of Things technology
Tuesday, February 28, 2017
Monday, April 6, 2015
Contiki OS: Using Powertrace and Energest power profile to estimate power consumption
To estimate the energy consumption. We can run on Cooja or with a real device
- Check the number of ticks per sencond for rtime (RTIMER_SECOND = 32768)
printf("Ticks per second: %u\n", RTIMER_SECOND);
- Include powertrace app in your project by adding it to your Makefile
APP += powertrace
(You also can use simpler version of powertrace at https://github.com/sonhan/contiki-sonhan/)
- Add to source file
#include "powertrace.h"
- Add to source file to print power profile every 10 seconds:
powertrace_start(CLOCK_SECOND * 10);
- Sample data
CPU LPM TX RX
512803 14227588 153188 195436
531519 14535272 158359 203847
549549 14844701 163409 211794
560341 15161365 165821 216534
575755 15473409 169844 223419
599333 15777318 178173 231767
610307 16093852 180704 236651
625674 16406020 184722 243660
649197 16710040 193402 252940
660144 17026626 195811 258453
670942 17343372 198221 263249
- Energy consumption (Power - mW):
Check datasheet for current and voltage, e.g., CPU = (531519 - 512803) * 0.33 * 3 / 32768 / 10
- Duty cycle (%):
E.g., TX duty cycle = (158359 - 153188) / (531519 - 512803 + 14535272 - 14227588)
- Sample output:
- Sample data and calculation:
https://github.com/sonhan/contiki/tree/master/apps/powertrace-sonhan/sample-data
- Check the number of ticks per sencond for rtime (RTIMER_SECOND = 32768)
printf("Ticks per second: %u\n", RTIMER_SECOND);
- Include powertrace app in your project by adding it to your Makefile
APP += powertrace
(You also can use simpler version of powertrace at https://github.com/sonhan/contiki-sonhan/)
- Add to source file
#include "powertrace.h"
- Add to source file to print power profile every 10 seconds:
powertrace_start(CLOCK_SECOND * 10);
- Sample data
CPU LPM TX RX
512803 14227588 153188 195436
531519 14535272 158359 203847
549549 14844701 163409 211794
560341 15161365 165821 216534
575755 15473409 169844 223419
599333 15777318 178173 231767
610307 16093852 180704 236651
625674 16406020 184722 243660
649197 16710040 193402 252940
660144 17026626 195811 258453
670942 17343372 198221 263249
- Energy consumption (Power - mW):
Check datasheet for current and voltage, e.g., CPU = (531519 - 512803) * 0.33 * 3 / 32768 / 10
- Duty cycle (%):
E.g., TX duty cycle = (158359 - 153188) / (531519 - 512803 + 14535272 - 14227588)
- Sample output:
- Sample data and calculation:
https://github.com/sonhan/contiki/tree/master/apps/powertrace-sonhan/sample-data
Friday, February 13, 2015
Contiki and Z1
platform/z1/contiki-conf.h: change UIP_CONF_BUFFER_SIZE to 240 (from 140)
make z1-reset
make login
...to be continued
make z1-reset
make login
...to be continued
Quick Start: gnuplot - multiline graph
- Download and install gnuplot: http://www.gnuplot.info
- Creat a file data.txt:
Time TX RX Total
1 0.00% 0.95% 0.95%
2 0.00% 1.03% 1.03%
3 0.09% 0.83% 0.92%
4 0.09% 1.09% 1.17%
5 0.00% 0.69% 0.69%
6 0.09% 1.07% 1.16%
7 0.00% 1.02% 1.02%
8 0.09% 1.15% 1.25%
9 0.09% 0.85% 0.94%
10 0.00% 0.92% 0.92%
11 0.18% 0.98% 1.16%
12 0.18% 1.19% 1.37%
13 0.18% 1.36% 1.54%
14 0.23% 1.30% 1.52%
15 0.00% 0.89% 0.89%
16 0.09% 1.17% 1.26%
17 0.09% 1.26% 1.35%
18 0.00% 1.13% 1.13%
19 0.18% 1.28% 1.46%
20 0.09% 0.84% 0.93%
- Run in gnuplot>
set xlabel 'Time (s)'
set ylabel 'Duty Cycle (%)'
set yrange [0:2]
set xrange [1:20]
set key autotitle columnheader
plot "data.txt" u 1:2 w linespoints lt -1 pt 5 dt 5, '' u 1:3 w linespoints lt -1 pt 4 dt 2, '' u 1:4 w linespoints lt -1 pt 3
- Output
- Creat a file data.txt:
Time TX RX Total
1 0.00% 0.95% 0.95%
2 0.00% 1.03% 1.03%
3 0.09% 0.83% 0.92%
4 0.09% 1.09% 1.17%
5 0.00% 0.69% 0.69%
6 0.09% 1.07% 1.16%
7 0.00% 1.02% 1.02%
8 0.09% 1.15% 1.25%
9 0.09% 0.85% 0.94%
10 0.00% 0.92% 0.92%
11 0.18% 0.98% 1.16%
12 0.18% 1.19% 1.37%
13 0.18% 1.36% 1.54%
14 0.23% 1.30% 1.52%
15 0.00% 0.89% 0.89%
16 0.09% 1.17% 1.26%
17 0.09% 1.26% 1.35%
18 0.00% 1.13% 1.13%
19 0.18% 1.28% 1.46%
20 0.09% 0.84% 0.93%
- Run in gnuplot>
set xlabel 'Time (s)'
set ylabel 'Duty Cycle (%)'
set yrange [0:2]
set xrange [1:20]
set key autotitle columnheader
plot "data.txt" u 1:2 w linespoints lt -1 pt 5 dt 5, '' u 1:3 w linespoints lt -1 pt 4 dt 2, '' u 1:4 w linespoints lt -1 pt 3
- Output
Tuesday, August 19, 2014
Quickstart: Raspbian (Raspberry Pi) Common Errors
- FAT-fs (mmcblk0p1): Volume was not properly unmounted
Reason: (http://lkml.org/lkml/2013/5/6/342) dosfstools should be at least v3.0.14, the current version is: 3.0.13-1
How to: (http://www.tuxlog.de/raspberrypi/2014/raspberry-pi-volume-not-properly-unmounted/)
sudo umount /boot
sudo git clone http://daniel-baumann.ch/git/software/dosfstools.git
sudo cd dosfstools
sudo make
sudo ./fsck.fat -V /dev/mmcblk0p1
0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
sudo ./fsck.fat -a /dev/mmcblk0p1
sudo mount /boot
(Updating...)
Reason: (http://lkml.org/lkml/2013/5/6/342) dosfstools should be at least v3.0.14, the current version is: 3.0.13-1
How to: (http://www.tuxlog.de/raspberrypi/2014/raspberry-pi-volume-not-properly-unmounted/)
sudo umount /boot
sudo git clone http://daniel-baumann.ch/git/software/dosfstools.git
sudo cd dosfstools
sudo make
sudo ./fsck.fat -V /dev/mmcblk0p1
0x25: Dirty bit is set. Fs was not properly unmounted and some data may be corrupt.
1) Remove dirty bit
2) No action
? 1
sudo ./fsck.fat -a /dev/mmcblk0p1
sudo mount /boot
(Updating...)
Subscribe to:
Posts (Atom)