Getting Started NS3 (Compile and Run Network Simulator Program)

by Agus Kurniawan 1. November 2010 10:22
On the previous article I wrote how to deploy NS3 on Ubuntu 10.10. Now I would like to share how to build and to run your network simulator program into NS3. Development Tools As we know, NS3 support development programming C++ and Python.  There are many C++/Python development tools so you choice a tool you have experiences about development. Getting Started We start to create folder test on NS3 build folder Create file hello-world-ns3.cc and write code below ( this code I copy paste from NS3 sample codes, main-simple.cc) #include <iostream>   #include "ns3/core-module.h" #include "ns3/helper-module.h" #include "ns3/node-module.h" #include "ns3/simulator-module.h"   using namespace ns3;   static void GenerateTraffic (Ptr<Socket> socket, uint32_t size) { std::cout << "at=" << Simulator::Now ().GetSeconds () << "s, tx bytes=" << size << std::endl; socket->Send (Create<Packet> (size)); if (size > 0) { Simulator::Schedule (Seconds (0.5), &GenerateTraffic, socket, size - 50); } else { socket->Close (); } }   static void SocketPrinter (Ptr<Socket> socket) { Ptr<Packet> packet; while (packet = socket->Recv ()) { std::cout << "at=" << Simulator::Now ().GetSeconds () << "s, rx bytes=" << packet->GetSize () << std::endl; } }   static void PrintTraffic (Ptr<Socket> socket) { socket->SetRecvCallback (MakeCallback (&SocketPrinter)); }   void RunSimulation (void) { NodeContainer c; c.Create (1);   InternetStackHelper internet; internet.Install (c);     TypeId tid = TypeId::LookupByName ("ns3::UdpSocketFactory"); Ptr<Socket> sink = Socket::CreateSocket (c.Get (0), tid); InetSocketAddress local = InetSocketAddress (Ipv4Address::GetAny (), 80); sink->Bind (local);   Ptr<Socket> source = Socket::CreateSocket (c.Get (0), tid); InetSocketAddress remote = InetSocketAddress (Ipv4Address::GetLoopback (), 80); source->Connect (remote);   GenerateTraffic (source, 500); PrintTraffic (sink);     Simulator::Run ();   Simulator::Destroy (); }   int main (int argc, char *argv[]) { RunSimulation ();   return 0; } Create wscript file and write this script ## -*- Mode: python; py-indent-offset: 4; indent-tabs-mode: nil; coding: utf-8; -*-   def build(bld): env = bld.env_of_name('default') if not env['ENABLE_EXAMPLES']: return; obj = bld.create_ns3_program('hello-world-ns3', ['core', 'simulator']) obj.source = 'hello-world-ns3.cc'   Create waf file and write this script exec "`dirname "$0"`"/../waf "$@" Compile and Run You can compile and run using ./waf . Make sure you ‘re in test folder and run this script ./waf --run "hello-world-ns3" Sample of output program you can see picture below Done. This is a simple program for NS3. If you have question let me know.

Tags:

Linux | Networking | NS

Deploying Network Simulator NS3-3.9 on Ubuntu 10.10

by Agus Kurniawan 1. November 2010 09:37
NS3 or Network simulation version 3 is a kind of technology that simulates the network behavior through mathematical modeling and statistical analysis method and then obtains the specific parameters which reflect the characteristics of the network. NS is one of the most famous network simulation software which was developed by LBNL network research group at UC Berkeley in the USA. Now I would like to introduce how to deploy NS3 on Ubuntu Linux 10.10 Prerequisites The following list of packages should be accurate for Ubuntu 10.10 release. requirements for C++ (release) sudo apt-get install gcc g++ python requirements for Python (release) sudo apt-get install gcc g++ python python-dev Mercurial: sudo apt-get install mercurial python bindings: sudo apt-get install bzr Debugging sudo apt-get install gdb valgrind GNU Scientific Library (GSL):   sudo apt-get install gsl-bin libgsl0-dev libgsl0ldbl The Network Simulation Cradle (nsc): sudo apt-get install flex bison To read pcap packet traces: sudo apt-get install tcpdump Sqlite for statistics framework sudo apt-get install sqlite sqlite3 libsqlite3-dev Xml-based version of the config store sudo apt-get install libxml2 libxml2-dev A GTK-based sudo apt-get install libgtk2.0-0 libgtk2.0-dev To experiment with virtual machines and ns-3 sudo apt-get install vtun lxc utils/check-style.py code style check program sudo apt-get install uncrustify Doxygen sudo apt-get install doxygen graphviz imagemagick sudo apt-get install texlive texlive-latex-extra texlive-generic-extra texlive-generic recommended Texinfo sudo apt-get install texinfo dia texlive texlive-latex-extra texlive-extra-utils texlive-generic-recommended texi2html ustavo Carneiro's ns-3-pyviz visualizer sudo apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev Installation Now we can start to install NS3. Firstly we download ns-allinone-3.9.tar.bz2 file and put on a specific folder such as repos wget http://www.nsnam.org/releases/ns-allinone-3.9.tar.bz2 Extract ns-allinone-3.9.tar.bz2 tar xjf ns-allinone-3.9.tar.bz2 Change to directory ns-allinone-3.9 and build NS3 ./build.py If success, you can see output messages displayed as below 'build' finished successfully (..) Leaving directory './ns-3.9' ns-3.9 is a folder of NS3 codes and scripts Testing After installation, you can test that your NS3 works or not. Change to directory NS build ( in my case, ns-3.9) and run test script as below ./test.py If success, you can see picture as below Then you can develop NS3 program for simulating .

Tags:

Linux | Networking | NS

Mengenal Jaringan Wireless Ad Hoc

by Agus Kurniawan 3. October 2010 16:46
Perkembangan teknologi jaringan saat ini cukuplah pesat mulai dari jangkauan yang luas hingga harga yang bersaing. Kemudahan akses dan penggunaan menjadi salah satu faktor apakah teknologi jaringan dapat diterima oleh banyak orang terutama mereka yang sering berpergian (mobile user). Pada artikel ini penulis mencoba mengajak pembaca untuk lebih mengetahui teknologi jaringan wireless Ad Hoc yang sangat cocok bagi mereka yang aktivitasnya mobile nya tinggi.   Jaringan Wireless Jaringan wireless atau dilingkungan kita dikenal dengan jaringan nirkabel adalah jaringan komunikasi yang tidak memerlukan kabel. Banyak sekali media yang dapat digunakan pada jaringan wireless ini, antara lain Bluetooth Infrared Data Association (IrDA) HomeRF Standard jaringan wireless IEEE 802.11 Bluetooth adalah teknologi komunikasi wireless berbasis gelombang mikro yang berkecepatan tinggi dengan konsumsi energi yang rendah. Design Bluetooth diharapkan dapat digunakan untuk melakukan koneksi antara telpon, laptop, personal digital assistants (PDA) atau peralatan lain yang berbasis Bluetooth. Tampilan contoh peralatan Bluetooth dapat dilihat pada gambar 1. Tidak seperti infrared, Bluetooth tidak memerlukan posisi yang sejajar dari unit yang saling berhubungan. Beberapa fitur Bluetooth dapat dilihat dibagian bawah ini Beroperasi pada 2.56 GHz ISM band Menggunakan Frequency Hop Spread Spectrum (FHSS) Dapat support sampai dengan 8 peralatan dalam suatu jaringan kecil Omnidrectional Jangkauan 10m sampai 100m atau dapat lebih dengan external power amplifier Konsumsi energi 1 mw IrDA adalah organisasi internasioanl yang menciptakan dan mempromosi standard interoperabilitas dengan harga yang murah yaitu infrared data interconnection. IrDA sudah memiliki kumpulan protokol data transfer. Saat ini adapter IrD dapat support untuk serial dan parallel. Tampilan contoh peralatan IrDA dapat dilihat pada gambar 2. Beberapa fitur penting IrDA antara lain Jangkauan hingga 1 meter atau dapat diperluas sepanjang 2 meter. Komunikasi berbasis Bidirectional Data transmisinya mulai dari 9600 bps hingga ada sampai 4 Mbps Data packet diproteksi dengan Cyclic Redundancy Check (CRC) contohnya CRC-16 untuk IrDA kecepatan sampai 1.152 Mbps dan CRC-32 pada 4 Mbps HomeRF adalah bagian dari International Telecommunication Union (ITU) dam diperuntukan untuk standard komuniasi data dan radio frequency (RF). Tampilan contoh peralatan HomeRF dapat dilihat pada gambar 3. Beberapa fitur penting HomeRF antara lain Beroperasi pada 2.45 GHz ISM band Jangkauan hingga 150 kaki Dapat melayani frequency hopping sebesar 50 hops per detik Kapasitas hingga 127 node Konsumsi energi 100mW kecepatan data 1 Mbps dengan menggunakan 2 frequency-shift keying (FSK) modulation dan 2 Mbps untuk 4 FSK modulation Koneksi voice dapat melayani hingg 6 fulll duplex Data keamanan menggunakan algoritma blowfish encryption Data kompresi menggunakan algoritma Lempel-Ziv Ross Williams 3 (LZRW3)-A Jaringan standard 802.11 atau dikenal denan WiFi adalah teknologi jaringan wireless yang banyak digunakan untuk jaringan kecil hingga besar. Peralatan Wifi dapat dibuat oleh semua vendor selama mengikuti standard 802.11. Tampilan contoh peralatan yang mengimplementasi standard 802.11 dapat dilihat pada gambar 4. Secara umum perbandingan Bluetooth, IrDA, HomeRF dan IEEE 802.11 dapat dilihat pada tabel 1. Gambar 1. Bluetooth dalam bentuk USB Gambar 2. IrDA dalam bentuk USB Gambar 3. Salah satu contoh implementasi HomeRF Gambar 4. Contoh peralatan Wifi 802.11 dalam bentuk USB Tabel 1. Perbandingan Bluetooth, IrDA, HomeRF dan IEEE 802.11   Apakah itu Jaringan Wireless Ad Hoc? Setelah kita mengekplorasi jaringan wireless maka akan timbul pertanyaan apakah itu jaringan wireless Ad Hoc?. Jaringan wireless Ad hoc adalah kumpulan node (atau router) wireless mobile yang secara dinamis keberadaannya tanpa menggunakan jaringan infrastruktur yang ada atau administrasi yang terpusat. Jaringan wireless Ad Hoc dapat juga dikatakan sebagai desentraslisasi jaringan wireless. Istilah jaringan wireless ad hoc sebelumnya dikenal dengan jarinan packet radio (PRNET) sekitar tahun 1970 dimana ini disponsori oleh DARPA dan proyek ALOHAnet. Pada jaringan Ad Hoc, router dapat dengan bebas melakukan organiasi jaringan yang berakibat topologi akan berubah dengan cepat dan sulit untuk diprediksi. Dengan fitur ini, jaringan Ad Hoc mengalami beberapa tantangan antara lain Multihop Mobility Kombinasi jaringan yang besar dengan berbagai peralatan yang berbeda Bandwidth Keterbatasan konsumsi battery Terlepas permasalahan diatas, jaringan Ad Hoc juga memerlukan protokol routing karena setiap node memerlukan pertukaran data contohnya seperti terlihat pada gambar 5. Gambar 5. Contoh jaringan wireless Ad Hoc   Kegunaan User yang mobile yang ingin berkomunikasi pada situari yang jaringan kabel yang tidak pasti akan memerlukan koneksi untuk keperluan kegiatannya. Oleh karena itu, kehadiran jaringan wireless Ad Hoc dapat membantu aktivitas komunikasi antar user. Misalkan anda berada di bandara dan ketemu dengan teman-teman anda. Selanjutnya anda dan teman anda ingin bertukaran data maka anda dapat memanfaatkan jaringan wireless Ad Hoc anda. Pada kondisi ini, kumpulan mobile host yang terhubung dengan jaringan wireless memerlukan jaringan wireless bersifat sementara tanpa perlu administrasi yang komplek ataupun infrastruktur yang komplek. Group Mobile Ad Hoc network (MANET) yang bagian dari IETF mencoba membuat spesifikasi MANET dan memperkenalkan untuk standard internet. MANET diharapkan dapat disupport untuk jarinangan mobile Ad Hoc dengan berbagai router dan dapat menyelesaikan tantangan pada jaringan ini seperti keterbatasan jangkauan, packet loss, induksi gelombang, dan konsumsi battery.   Protokol MAC Layer Pada jaringan wireless Ad Hoc, transmitter menggunakan sinyal radio untuk berkomunikasi dengan menggunakan frekuensi yang sama. Secara umum, setiap node hanya akan menjadi transmitter (TX) atau receiver (RX) pada satu waktu artinya tidak bisa menjadi TX dan RX dalam satu waktu yang sama. Selain itu, komunikasi antra mobile node dibatasi oleh jangkauan transmisi. Tidak seperti jaringan kabel, packet delay yang terjadi pada jaringan wireless Ad Hoc terjadi tidak hanya karena beban trafik tetapi juga beban trafik pada node yang didekatnya, ini dikenal dengan traffic interference. Protokol Medium Access Control (MAC) memegang peranan penting pada performance jaringan Mobile Ad Hoc (MANET). Protokol MAC didefinisikan bagaimana masing-masing mobile node dapat melakukan sharing resource wireless bandwidth yang terbatas secara efisien. Source dan destination kemungkinan letaknya berjauhan dan mungkin masing-masing packet data memerlukan relay dari satu node ke lainnya untuk kasus multihop. Satu tantangan yang mendasar pada penelitian MANET adalah bagaimana meningkatkan throughput jaringan dengan mempertahankan konsumsi energi yang rendah untuk komunikasi packet. Implementasi MAC untuk jaringan wireless Ad Hoc saat ini banyak sekali dilakukan penelitian karena jaringan wireless Ad Hoc mempunyai karateristik yang unik. Metode Carrier Sense Multiple Access (CSMA) MAC yang umumnya digunakan untuk jaringan kabel tidak bisa diterapkan pada jaringan wireless Ad Hoc. Hal ini akan mengakibatkan terjadinya permasalahan hidden-terminal seperti yang terlihat pada gambar 6. Gambar 6. Permasalahan hidden terminal pada jaringan wireless Ad Hoc Terlepas metode yang digunakan untuk implementasi MAC untuk jaringan wireless Ad Hoc, ada beberapa hal yang diperhatikan yaitu Throughput dan delay Fairness Efisiensi energi Support multimedia Protokol Routing Protokol routing adalah Protokol routing Ad Hoc adalah standard bagaimana suatu node menentukan jalur packet ke tujuan pada jaringan Ad Hoc. Membangun protokol routing pada jaringan wireless Ad Hoc tidak mudah seperti yang dibayangan dan ditambah lagi dengan topologi jaringan yang dinamis. Peneliti mencoba membuat metode protokol routing pada jaringan wireless Ad Hoc dan hasilnya banyak sekali metodenya. Pembaca dapat melihatnya pada alamat Wikipedia ini http://en.wikipedia.org/wiki/List_of_ad-hoc_routing_protocols .   Protokol Transport Transmission Control Protocol (TCP) dibuat untuk menyediakan data transfer yang reliable. Secara teori, TCP seharusnya independent terhadap teknologi yang berjalan pada infrastruktur tetapi kenyataannya di lapangan hampir implementasi TCP dibuat dengan asumsi diterapkan pada jaringan kabel sehingga ketika ini diimplementasi pada jaringan wireless diperoleh hasil yang buruk. Pada jaringan Ad Hoc, permasalahan TCP congestion tidak hanya terjadi pada network congestion tetapi banyak sekali sumbernya contohnya tingginya bit error rate, path asymmetry, komunikasi multihop sperti hidden terminal. Metode paling mudah untuk protokol transport pada jaringan wireless Ad Hoc dengan menerapkan Split TCP yang makalahnya dapat diunduh pada alamat http://www.cs.ucr.edu/~michalis/PAPERS/split-glo02.pdf   Implementasi Jaringan Wireless Ad Hoc Pada OS Windows Microsoft sadar betul bahwa kebutuhan akan jaringan wireless Ad Hoc sangat berguna bagi user. Oleh karena itu, Microsoft sudah menyiapkan fitur jaringan wireless Ad Hoc pada OS sejak OS Windows XP. Pada Windows 7, kita dapat membuat jaringan wireless Ad Hoc melalui Network and Sharing Center., berikut ini langkah-langkahnya: Pada Network and Sharing Center, pilih Set up a new connection or network dengan mengkliknya maka kita akan memperoleh kotak dialog seperti gambar 7 Pilih Setup a wireless ad hoc (computer-to-computer) network Jika selesai klik tombol Next Selanjutnya kita memperoleh kotak dialog seperti gambar 8 mengenai informasi wireless ad hoc network Jika selesai membaca, klik tombol Next Setelah itu kita memperolah kotak dialog untuk mengisi informasi Ad Hoc network seperti yang terlihat pada gambar 9 Isi nama jaringan beserta security key Jika selesai, klik tombol Next Selanjutnya sistem akan membuat jaringan wireless Ad Hoc Jika selesai, kita akan memperoleh kotak dialog seperti yang terlihat pada gambar 10 Tutup kotak dialognya Akhirnya kita telah membuat jaringan wireless Ad Hoc. Kalau kita perhatikan di tray-icon wireless dan mengkliknya akan muncul seperti gambar 11. Pada kondisini ini, komputer kita sedang menunggu koneksi yang masuk. Pastikan user yang akan bergabung ke jaringan wireless Ad Hoc mengetahui security key sesuai dengan inputan pada langkah 7. Gambar 7. Kotak dialog untuk membuat jaringan wireless Ad Hoc Gambar 8. Informasi umum jaringan wireless Ad Hoc Gambar 9. Mengisi konfigurasi jaringan wireless Ad Hoc Gambar 10. Jaringan wireless Ad Hoc telah sukses dibuat Gambar 11. Informasi koneksi jaringan wireless Ad Hoc yang telah dibuat   Referensi Subir Kumar Sarkar,T G Basavaraju,C Puttamadappa, Ad Hoc Mobile Wireless Networks, Auerbach Publications, 2008 http://en.wikipedia.org/wiki/List_of_ad-hoc_routing_protocols *Artikel ini telah dipublikasikan ke majalah PC Media Edisi Agustus 2010

Tags:

Networking | Wireless Networks

Video Tutorial Baru Jaringan Komputer

by Agus Kurniawan 4. August 2010 09:46
Alhamdullilah, gw baru menyelesaikan video tutorial jaringan komputer untuk bab 3 dari buku Computer Networking : A Top-Down Approach (5th Edition) by James F. Kurose and Keith W. Rose. Selain materi bab 3, gw juga mengilustrasi simulasi jaringan komputer dengan applet. Semua materi video ini dapat dilihat secara gratis di portal PE College. Status terakhir, video tutorial jaringan komputer belum selesai 100% dimana masih ada 2 bab yang belum selesai yaitu bab 4 dan 5. Sekarang ada 36 video untuk topik jaringan komputer ini, berikut ini video tutorial jaringan komputer sudah selesai: 1.1 Apa Itu Internet? 1.2 Layer Protokol dan Model Servis 2.1 Prinsip Aplikasi Jaringan 2.2 Web dan HTTP 2.3 FTP 2.4 E-Mail: SMTP, POP3, IMAP 2.5 DNS 2.6 Aplikasi P2P 2.7 Pemrograman Socket dengan TCP 2.8 Pemrograman Socket dengan UDP LAB TELNET :: HTTP LAB TELNET :: SMTP LAB TELNET :: POP3 LAB WIRESHARK :: HTTP 3.1 Transport-Layer Services 3.2 Multiplexing and Demultiplexing 3.3 Connectionless Transport: UDP 3.4.1 Principles of Reliable Data Transfer (RDT) 3.4.2 Building Reliable Data Transfer (RDT) 3.4.3 Pipelined Reliable Data Transfer (RDT) 3.4.4 Go-Back-N (GBN) 3.4.5 Selective Repeat (SR) 3.5.1 Connection-Oriented Transport: TCP :: Segment Structure 3.5.2 Connection-Oriented Transport: TCP :: Reliable Data Transfer 3.5.3 Connection-Oriented Transport: TCP :: Flow Control 3.5.4 Connection-Oriented Transport: TCP :: Connection Management 3.6 Principles of Congestion Control 3.7 TCP Congestion Control Applet Demo :: Transmission versus Propagation Delay Applet Demo :: Queuing and Loss Applet Demo :: Message Segmentation Applet Demo :: HTTP Delay Estimation Applet Demo :: Recursive/Iterative Queries in DNS Applet Demo :: Go-Back-N Protocol Applet Demo :: Selective Repeat Applet Demo :: Flow Control Anda dapat menonton tutorial video ini secara gratis di portal PE College dengan alamat http://www.pecollege.net/ViewVideoList.aspx?list=9 Semoga materi berguna untuk semuanya. Jangan lupa memberikan rating ke tutorial ini dan mohon disebarluarkan informasi ini.

Tags:

Networking | PECollege

Majalah PC Media Agustus 2010: Mengenal Jaringan Wireless Ad Hoc

by Agus Kurniawan 1. August 2010 23:47
Majalah PC Media edisi Agustus 2010, gw menulis satu artikel yang berhubungan jaringan wireless atau nirkabel. Disini gw fokus ke jaringan wireless ad hoc. Berikut ini ulasannya: Perkembangan teknologi jaringan saat ini cukuplah pesat mulai dari jangkauan yang luas hingga harga yang bersaing. Kemudahan akses dan penggunaan menjadi salah satu faktor apakah teknologi jaringan dapat diterima oleh banyak orang terutama mereka yang sering berpergian (mobile user). Pada artikel ini penulis mencoba mengajak pembaca untuk lebih mengetahui teknologi jaringan wireless Ad Hoc yang sangat cocok bagi mereka yang aktivitasnya mobile nya tinggi. Jaringan Wireless Jaringan wireless atau dilingkungan kita dikenal dengan jaringan nirkabel adalah jaringan komunikasi yang tidak memerlukan kabel. Banyak sekali media yang dapat digunakan pada jaringan wireless ini, antara lain Bluetooth Infrared Data Association (IrDA) HomeRF Standard jaringan wireless IEEE 802.11 Apakah itu Jaringan Wireless Ad Hoc? Setelah kita mengekplorasi jaringan wireless maka akan timbul pertanyaan apakah itu jaringan wireless Ad Hoc?. Jaringan wireless Ad hoc adalah kumpulan node (atau router) wireless mobile yang secara dinamis keberadaannya tanpa menggunakan jaringan infrastruktur yang ada atau administrasi yang terpusat. Jaringan wireless Ad Hoc dapat juga dikatakan sebagai desentraslisasi jaringan wireless. …. Pada artikel ini gw juga memberikan ilustrasi bagaimana realisasi Wireless Ad Hoc pada OS Windows 7. Untuk lebih lengkapnya pembaca dapat membaca artikel ini di majalah PC Media edisi Agustus 2010. Semoga berguna.

Tags:

Papers | Networking

Tutorial Video Jaringan Komputer Pada PE College

by Agus Kurniawan 1. April 2010 00:08
Jaringan komputer dapat dikatakan mata kuliah wajib yang harus dipelajari baik pada ilmu komputer, teknik informatika ataupun teknik elektro. Guna meningkatkan sebaran topik jaringan komputer, gw membuat tutorial dalam video yang dipublikasi oleh PE College, www.pecollege.net . Tutorial ini dapat diakses secara gratis dimana anda cukup mendaftar diri pada portal PE College. Materi ini mencakup pengenalan model referensi ISO-OSI untuk perancangan lapisan jaringan komputer meliputi Application Layer Transport Layer Network Layer Link Layer Local Area Network Sedangkan isi materi ini dirujuk pada buku Computer Networking : A Top-Down Approach (5th Edition) by James F. Kurose and Keith W. Rose dimana materinya diambil dari bab 1 sampai 5. Anda dapat menikmati tutorial ini di http://www.pecollege.net/ViewVideoList.aspx?list=9 Saat ini materi belum selesai 100% tetapi sekitar 45%, gw berharap sekitar bulan mei tutorial jaringan komputer dapat diselesaikan.

Tags:

Networking | Lecture

About Agus Kurniawan

Agus Kurniawan

For more detail about me click here [V]

Please entry your name into my guestbook [V]

If you want to contact me, please go here [V]

Go here for my professional services [V]

My Books

Arduino Pro Mini A Hands-On Guide for Beginner 

Arduino Pro Micro A Hands-On Guide for Beginner  Arduino Nano A Hands-On Guide for Beginner

Python and SQL Server Development  Coral Dev Board I/O Programming Using Python

Digi XBee3 Zigbee 3 Development Workshop  Microchip MPLAB Xpress Development Workshop

DFRobot Romeo V2 Development Workshop  Getting Started with Coral Dev Board

Arduino Sketch for ESP8266 Development Workshop  Internet of Things Projects with ESP32

Teensy LC Development Workshop  Arduino Sketch for STM8 Development Workshop

Sigfox Development with SiPy, LoPy4, FiPy  Sigfox Development with STM32 B-L072Z-LRWAN1

Arduino Sketch for STM32 Development Workshop  Arduino MKR ZERO Development Workshop

Administering and Developing Azure SQL Database  Pycom WiPy 3.0 Development Workshop

Getting Started with Ubuntu Core for Raspberry Pi 3  Practical Kotlin Programming

Arduino Sketch for ESP32 Development Workshop  Building Wireless Sensor Networks with ESP32 LoRa

Getting Started with ACKme Mackerel AMW004 Development  NodeMCU for ESP32 Development Workshop 

Arduino MKR WIFI 1010 Development Workshop  IOIO-OTG Development Workshop

MicroPython for STM32 Nucleo Technical Workshop  STM32 Nucleo-32 Development Workshop

Learn CloudFormation  SparkFun nRF52832 Development Workshop

LinkIt Smart 7688 and LinkIt Smart 7688 Duo Development Workshop  CircuitPython Development Workshop

MicroPython for BBC micro:bit Technical Workshop  RedBear Blend v2 Development Workshop

Realtek Ameba RTL8195 Technical Workshop  Practical Contiki-NG: Programming for Wireless Sensor Networks

ESPectro32 Technical Workshop STEMTera Development Workshop

BeagleBone Black Wireless Technical Workshop Arduino MKR GSM 1400 Development Workshop

Dragino LoRa Development Workshop Learning AWS IoT

Tessel 2 Development Workshop Raspberry Pi Compute Module 3 Technical Workshop

Vue.js Programming by Example Administering and Developing SQL Server 2017 for Linux

Arduino MKRFOX1200 Development Workshop  Intelligent IoT Projects in 7 Days

Teensy Development Workshop Teensy 3.5 and Teensy 3.6 Boards Edition OpenMV Development Workshop

ESPresso Lite V2.0 Development Workshop  MicroPython for ESP32 Development Workshop

Arduino FIO Development Workshop  Getting Started with Android Things for Raspberry Pi 3

Pycom WiPy 2.0 Development Workshop  XBee ZigBee Development Workshop

SparkFun ESP32 Thing Development Workshop Getting Started With BBC micro:bit

Getting Started With Raspberry Pi Zero W Espruino Pico Development Workshop

Getting Started with ASP.NET Core for OS X, Linux, and Windows  Arduino TIAN Development Workshop

SimpleLink Wi-Fi CC3200 LaunchPad Development Workshop  MicroPython for ESP8266 Development Workshop

Smart Internet of Things Projects  Arduino UNO WiFi Development Workshop

XBee Wi-Fi development workshop SparkFun Simblee BLE Development Workshop

Mengenal Microsoft Azure ML Getting Started with Windows 10 IoT Core for Raspberry Pi 3

Arduino and Genuino Zero Development Workshop Go and SQL Server Programming By Example

Arduino and Genuino MKR1000 Development Workshop  Mengenal Microsoft Azure IoT

Getting Started with Raspberry Pi 3 PHP and PostgreSQL Programming By Example

Arduino and Genuino 101 Development Workshop Getting Started with Raspberry Pi Zero

Getting Started with Arduino Wiring for Windows 10 IoT Core Getting Started with Wolfram Language and Mathematica for Raspberry Pi

Arduino Uno: A Hands-On Guide for Beginner Arduino Leonardo and Arduino Micro: A Hands-On Guide for Beginner

RedBearLab CC3200 Development Workshop The Photon Kit Development Workshop

Python Programming by Example Raspberry Pi LED Blueprints

Bluno Beetle Development Workshop BeagleBone Black Programming using Matlab

Arduino Programming using MATLAB Digispark USB Development Workshop

Near Field Communication (NFC) for Embedded Applications Arduino Development for OSX and iOS

SparkFun ESP8266 Thing Development Workshop Teensy Development Workshop

Getting Started with Windows 10 for Raspberry 2 NodeMCU Development Workshop

Getting Started with ASP.NET 5 for OS X, Linux, and Windows Getting Started with Windows Remote Arduino

Redis Programming by Example The Hands-on ARM mbed Development Lab Manual

Getting Started With STM32 Nucleo Development Getting Started with Windows IoT and Intel Galileo

Learning C by Example Getting Started with Raspberry Pi 2

Getting Started with Arduino and Go The Hands-on Arduino Yún Manual Lab

The Hands-on MEAN Lab Manual, Volume 1 Go Programming by Example

Getting Started with Scratch for pcDuino Raspberry Pi Wireless Networks

BeagleBone Black Programming by Example Database Programming Using R

Learning R in 120 Minutes The Hands-on Intel Edison Manual Lab

Getting Started with pcDuino3 TI ARM Cortex-M LaunchPad Programming by Example

Raspberry Pi I/O Programming using Python Getting Started with Intel IoT and Intel Galileo

Pemrograman Java Tingkat Lanjut PHP and MongoDB Programming By Example

ASP.NET SignalR Programming By Example KnockoutJS Programming by Example

Getting Started with Java ME Embedded 8 and Raspberry Pi XBee IEEE 802.15.4 Programming

Raspberry Pi System Programming for Beginner Backbone.js Programming By Example

PHP and SQL Server Programming By Example AngularJS Programming by Example

jQuery Programming by Example Getting Started with Arduino and Ruby

Raspberry Pi Command Line for Beginner Getting Started with Arduino and Python

MSP430 LaunchPad Programming TypeScript Programming by Example

Getting Started with Matlab Simulink and Arduino SQL Server for Node.js

Pocket Reference: Netduino for Beginner Database Programming using Matlab

Pocket Reference: Basic Sensors in Windows 8 Getting Started with Matlab Simulink and Raspberry Pi

Getting Started with Arduino and Java  Pocket Reference: Raspberry Pi Programming

Getting Started with Arduino and Matlab Getting Started with Arduino and .NET

Pocket Reference: Raspberry Pi Getting Started with Arduino and Node.js

MongoDB for VB.NET Panduan Praktis Windows Azure

Network Forensics: Panduan Analisis Dan Investigasi Paket Data Jaringan Menggunakan Wireshark Object-Relational Mapping (ORM): MongoDB, Mongoosejs and Node.js By Example

Nodejs Programming by Example MongoDB for by Example

Pemrograman Parallel Dengan MPI dan C Panduan Lengkap iPad 2 Untuk Pemula

Pemrograman Jaringan Dengan Java Aplikasi Pilihan iPad Untuk Anak-Anak

Buku lainnya [V]

Agus Kurniawan is Microsoft MVP (Most Valuable Professional)

Agus Kurniawan- Github Profile

Agus Kurniawan- Codeplex Profile

Follow Me

Follow agusk2010 on Twitter

Month List