Memprogram Intel Galileo Gen 2

blognitbot.com


Catatan ini saya tulis karena saya yang pelupa dan sudah lama tidak bermain dengan intel galileo. Harapannya supaya saya tidak perlu mengingat lebih keras bagamana ribetnya memprogram intel galileo. Saya sangat menyukai pemrograman intel galileo dengan kombinasi arduino dan python, walaupun di situs resmi intel menggunakan pemrograman node.js. Node.js memiliki kelebihan disisi program yang dieksekusi secara asinkron/tidak berurutan (silahkan cari referensi mengenai node.js), tetapi dukungan library yang masih minim. Beda dengan Node.js, meskipun arduino dan python mengeksekusi program dengan berurutan, tetapi ketersediaan library di internet cukup banyak, sehingga cukup memudahkan dan tidak menguras waktu.

May 15, 2016
Posted by Niam Tamami

Perbedaan Inline dan External Javascript

Saya adalah programmer pemula dalam penggunaan javascript. Ketertarikan saya mengenai javascript dimulai ketika saya harus membuat interface untuk perangkat internet of things. Javascript cukup menarik perhatian saya karena bisa di eksekusi oleh perangkat komputer maupun mobile. Yang kedua adalah script ini di eksekusi di sisi klien, jadi sangat praktis. Terakhir adalah pemrograman ini lebih mudah dibandingkan android, gampang debuggingnya, jika error tidak sampai menyebabkan force close, hehe. Kali ini akan kita bahas mengenai penggunaan javascript secara inline dan external javascript.

menurut sumber dari "http://trikmudahseo.blogspot.com/2012/11/perbedaan-inline-dan-external-javascript.html" bahwa, 

Perbedaan Inline dan External Javascript tentu saja terletak pada cara penempatannya. Inline javascript itu adalah kode yang diletakkan di antara tag <script> dan </script> dan ditaruh pada kode template. Lazimnya kode seperti ini biasanya bisa kita temukan tepat di atas </head> dan kode ini dibuat untuk menghasilkan efek yang cenderung lebih atraktif dari css biasa.

Berbeda dengan Inline, .... External javascript adalah kode yang sama dengan kode yang diletakkan di antara tag tadi. Bedanya, kode ini disimpan dalam file berekstensi .js dan dihost pada sebuah server berbeda. Kode ini kemudian "dimuat" dengan menggunakan kode <script type="text/javascript" src="URL extenal javascript"> </script>

Mana yang lebih baik? Jawabnya, tergantung blog anda seperti apa....

Kalau scriptnya pendek, sepertinya masih lebih baik jika script tersebut dibuat secara inline di dalam kode template anda. Berbeda jika kodenya cukup panjang, itu akan lebih baik jika dibuat sebagai eksternal java script.

Kenapa script yang panjang lebih baik digunakan sebagai external javascript? Karena kalau kodenya dipisah akan lebih mudah untuk dicache oleh browser pengunjung blog anda. Artinya jika pengunjung membuka blog anda berkali-kali, maka tidak perlu lagi dibebani dengan pemuatan script ini.

Jadi kalau blog anda memang dipenuhi dengan script yang cukup berat, ada baiknya anda memastikan script tersebut adalah external javascript. Seandainya script tersebut adalah inline javascript dan ternyata cukup panjang ada baiknya anda menjadikannya external. Bagaimana cara mengubahnya menjadi external javascript?

Mudah saja, copy semua kode di antara <script> dan </script> dalam inline javascript tadi. Paste ke dalam notepad dan simpan notepad dengan nama file berakhiran .js. Misalnya: mymenuscript.js. Setelah itu host file javascript ini pada sebuah server dan ambil URL nya. Pastikan anda menggunakan host yang handal dalam kecepatan.

Panggil URL javascript yang tadi sudah anda dapatkan dengan menggunakan kode external javascript. Kodenya seperti ini:
<script type="text/javascript" src="URL extenal javascript"> </script>

Letakkan kode baru ini sebagai pengganti kode <script>.......</script> tadi. Artinya anda harus menghapus kode sebelumnya dan dengan begini inline javascript sudah berubah menjadi external.

Cukup sekian catatan nitbot, semoga berguna :).

May 13, 2016
Posted by Niam Tamami
Tag :

Komunikasi Banyak digi XBee dengan PC Komputer | Part 1

blognitbot.com
Komunikasi wireless seringkali dibutuhkan dalam bidang keilmuan elektronika. Contohnya saja disaat kita ingin membuat sistem pembacaan sensor suhu secara wireless yang ditampilkan lewat komputer, android atau keperluan lain. Kali ini yang dibahas adalah komunikasi dengan menggunakan XBee. Kenapa menggunakan XBee? Karena modul ini dapat di interface cukup mudah, bisa digunakan komunikasi point to point maupun multipoint.
Sebagai bahan percobaan, kali ini dibuat sistem monitoring suhu trafo. Jumlah trafo yang dimonitoring berjumlah 5. Alat monitoring suhu trafo ini menggunakan sistem wireless dengan 5 XBee yang dilengkapi dengan sensor temperature (yang selanjutnya disebut "XBee client") dan 1 XBee sebagai pengepul data yang ditampilkan ke PC (yang selanjutnya disebut "XBee server"). Xbee client bertugas mengirimkan data pembacaan suhu ke XBee server yang selanjutnya di tampilkan di PC. Berikut ini adalah gambar perancangan dari sistem yang dibuat,

Pada gambar di atas, gambar garis tidak terputus merupakan koneksi dengan kabel, sedangkan garis putus merupakan koneksi wireless. Sensor suhu terkoneksi pada analog input XBee, sedangkan XBee ke komputer menggunakan RS 232 serial TTL.
Konfigurasi pin yang digunakan pada XBee client adalah sebagai berikut,
Vcc 5 Volt | XBee pin nomor 1
Ground     | XBee pin nomor 10
VRef       | XBee pin nomor 14
ADC1       | XBee pin nomor 19

Sementara ini dulu, nanti diteruskan di tutorial part 2 dan 3

by Safik Dwi Nova, edited by Ni'am Tamami
February 13, 2016
Posted by Niam Tamami

Reload div pada HTML menggunakan Javascript

blognitbot.com

Reload halaman web html seringkali kita butuhkan untuk mengupdate informasi pada yang ada pada halaman web. Hal ini sangat merepotkan jika halaman web yang kita reload cukup berat, sedangkan ada bagian pada html yang harus di update isinya. Ada cara yang gampang untuk reload pada bagian tertentu pada halaman web. Berikut ini adalah cara untuk reload div pada html menggunakan javascript dengan mengeksekusi kode program javascript tiap 3000ms.

$(document).ready(function() {
setInterval(function() {
     $('#show').text('niamtamami ganteng');
 }, 3000);
});
berikut ini adalah kode html yang dirubah isinya

<div id="show" align="center">niamtamami</div>

sedangkan '#show' mengacu id dari div yang diupdate datanya (id="show"). Jika program ini di eksekusi di halaman html, maka pada awalnya tulisan bertulis "niamtamami", setelah 3 detik tulisan menjadi "niamtamami ganteng"
February 10, 2016
Posted by Niam Tamami

Hardware Abstraction Layer | nitbot-iot

perangkat nitbot-iot yang kita buat adalah open source. Lalu bagaimana agar komunitas opensource nitbot-iot, tidak membutuhkan penyesuaian yang banyak ketika perangkat/hardware yang kita gunakan ganti?Jawabannya adalah HAL (Hardware Abstraction Layer), atau dengan kata lain kita membuatkan program untuk hardware level bawah (misal akses ADC, I2C, SPI, UART) atau yang kita disebut HAL, dan kita buat juga platform nitbot-iot di level atas (misal algoritma on off untuk perangkatnya). 

Jadi, kurang lebih contohnya begini, coba lihat komputer yang kita gunakan, hardwarenya dengan berbeda-beda misal vga nya ada yang intel, nvidia,amd dll. Tapi pertanyaanya, mengapa OS tetap bisa dijalankan di komputer yang hardwarenya berbeda-beda?Karena ada HAL (Hardware Abstraction Layer), contoh yang paling gampang adalah software driver yang kita gunakan di komputer. Kalau tiap kali hardware kita ganti, kemudian kita harus memprogram dari awal lagi, tentunya sangat ribet, nah itulah kelebihan HAL ini.

Hardware Abstraction Layer menyediakan interface untuk perangkat keras, seperti yang saya jelaskan di paragraf sebelumnya, misal akses ADC, I2C, SPI, UART. Karena yang kita tahu, pemrograman hardware cukup rumit. Dengan adanya program HAL ini maka kita tidak perlu tahu menggunakan hardware jenis apa, misalkan atmel seri AT Mega, STM32, PIC yang memiliki akses pemrograman hardware yang berbeda.

Pada umumnya, HAL digunakan pada OS modern, atau biasanya HAL digunakan sebagai basic driver pada chipset motherboard yang menyediakan basic interface antara kernel dan hardware komputer, termasuk prosessor. Keren, karena kernel mampu mengakses apapun jenis hardwarenya.

Berikut ini adalah contohnya,





December 29, 2015
Posted by Niam Tamami

Menginstall Wiring-x86 pada Intel Galileo

blognitbot.com



Wiring-x86 adalah modul python yang mengizinkan pengguna intel Galileo mengakses io nya seperti cara mengakses Arduino. Beberapa fitur yang telah ditawarkan oleh API (Aplication Programming Interface) dari intel Galileo mencangkup beberapa fitur di bawah ini.
Writing to a GPIO pin configured as output.
  • Reading from a GPIO pin configured as high impedance input.
  • Reading from a GPIO pin configured as pullup input.
  • Reading from a GPIO pin configured as pulldown input.
  • Reading from a GPIO pin configured as analog input (ADC).
  • Writing to a GPIO pin configured as analog output (PWM).


Berikut ini adalah cara menginstall library python Wiring-x86 pada intel Galileo.

Installing Wiring-x86

The first step is to install the Wiring-x86 module. There are several ways to do this.

Installing from a tarball

When using the original YOCTO Linux distribution provided with the board this is the easiest method to get the module installed. A tarball of the latest code can be downloaded from GitHub as follows:

$ curl -O -L http://github.com/emutex/wiring-x86/archive/master.tar.gz
 
Install it as follows:

$ tar zxvf master.tar.gz
$ cd wiring-x86-master/
$ sudo python setup.py install 
 
yang di warnai warna merah adalah bagian yang paling penting. Berikut ini adalah contoh dari penggunaan library Wiring-x86.

# Import the time module enable sleeps between turning the led on and off.
import time

# Import the GPIOGalileoGen2 class from the wiringx86 module.
from wiringx86 import GPIOGalileoGen2 as GPIO

# Create a new instance of the GPIOGalileoGen2 class.
# Setting debug=True gives information about the interaction with sysfs.
gpio = GPIO(debug=False)
pin = 13
state = gpio.HIGH

# Set pin 13 to be used as an output GPIO pin.
print 'Setting up pin %d' % pin
gpio.pinMode(pin, gpio.OUTPUT)


print 'Blinking pin %d now...' % pin
try:
    while(True):
        # Write a state to the pin. ON or OFF.
        gpio.digitalWrite(pin, state)

        # Toggle the state.
        state = gpio.LOW if state == gpio.HIGH else gpio.HIGH

        # Sleep for a while.
        time.sleep(0.5)

# When you get tired of seeing the led blinking kill the loop with Ctrl-C.
except KeyboardInterrupt:
    # Leave the led turned off.
    print '\nCleaning up...'
    gpio.digitalWrite(pin, gpio.LOW)

    # Do a general cleanup. Calling this function is not mandatory.
    gpio.cleanup()

December 22, 2015
Posted by Niam Tamami

Tutorial pengembangan nitbot-iot

blognitbot.com


Berikut ini adalah tutorial pengembangan nitbotIoT, an opensource smarthome platform, silahkan cek iot.nitbot.com.


1. Silahkan buat account di github.com
2. Jika account github.com sudah di buat,  konfirmasi ke tim iot.nitbot.com dengan mengirimkan pesan lewat aplikasi Telegram Android ke nomor +6285733316323 bahwa account telah dibuat.
3. Tunggu hingga admin menautkan account github.com mu dengan repository iot.nitbot.com
4. Download aplikasi github.com untuk Windows, atau bisa juga menggunakan Linux jika sudah advanced
5. Clone repository (duplikasi repository di komputer sendiri) iot.nitbot.com lewat aplikasi github.com, lalu coba tambahkan kode program yang kurang, penting : sertakan komentar untuk penjelasan program, agar program bisa lebih mudah difahami oleh pengembang yang lain.
6. Commit ke repository iot.nitbot.com lewat aplikasi github.com (setelah melakukan perbaikan program, upload program yang telah diperbaiki dengan aplikasi github.com).


Beberapa tools yang bisa kita pakai untuk mengembangkan nitbot-iot dengan lebih mudah, tanpa harus banyak memprogram,
1. http://www.layoutit.com/ (digunakan untuk membangun template web dengan cara menarik-narik objek saja, contoh hasilnya bisa di lihat seperti webnya iot.nitbot.com).
2. DO Button by IFTTT , kita bisa menggunakan button ini untuk mengontrol perangkat IoT kita dengan memanfaatkan channel "maker" untuk request http.




3. https://www.hurl.it/ , untuk tes http request
4. Jika ingin mengembangkan aplikasi android dengan gampang, kita bisa menggunakan http://ai2.appinventor.mit.edu/ (menggunakan pemrograman grafis) tanpa harus sulit sulit memprogram dengan android studio.
5. Jika ingin membangun web sendiri dan domain bisa menggunakan Web Hosting untuk versi web gratis, dan masterweb.com untuk yang berbayar dengan kualitas terpercaya dan murah
6. Jika ingin membangun server, berikut ini ada link VPS gratis dari koding.com.
7. Jika ingin membuat API untuk server web kita sendiri, kita bisa menggunakan https://apiary.io/ untuk membuat API sendiri, contohnya seperti API milik geeknesia.com

"tutorial ini akan dikembangkan secara berkala di http://www.blognitbot.com/2015/12/tutorial-pengembangan-nitbot-iot.html.

Cek perkembangan nitbot-iot di iot.nitbot.com ".
December 08, 2015
Posted by Niam Tamami

Internet Of Things Innovation Challenge | dicoding.com | by niamtamami a...

blognitbot.com

Aplikasi ini dibuat untuk mengikuti kontes Internet Of Things Innovation Challenge yang diselenggarakan dicoding.com, geeknesia.com, dan sponsor utama yaitu INTEL indonesia. Tema dasar yang diambil adalah smart home, dimana pada aplikasi ini dibuatkan sebuah panel intel galileo gen 2 yang diprogram untuk dapat mengontrol on off peralatan listrik dan terkoneksi internet dengan data dari server geeknesia.com sehingga dapat dilakukan mekanisme kontrol dan monitoring jarak jauh pada peralatan tersebut. Ide ini muncul karena timbul sebuah pertanyaan dari saya, "mengapa yang mampu menggunakan sistem IoT ini hanya orang-orang yang "geek" (senang nguprek, mahasiswa dst), apakah orang orang yang lain yang ingin menikmati teknologi ini harus ribet melakukan desain rangkaian, programming dst. Harapan saya kedepannya panel ini akan saya kembangkan untuk pengembangan perangkat "OpenSource" cerdas IoT untuk sistem smart home sehingga semua orang dapat menikmati teknologi ini. :)

 

Spesifikasi Teknis

  • Hardware Programming : menggunakan kombinasi arduino, python.
  • Koneksi Internet : menggunakan http get dengan server geeknesia.com.
  • User Interface : menggunakan bootstrap - javascript (aplikasi dapat di lihat di http://iot.nitbot.com/app atau bisa juga bila ingin melihat dokumentasi video dll bisa membuka url http://iot.nitbot.com/)

Keuntungan

  • Device yang akan di kontrol tinggal ditancapkan pada panel utama dengan range pengontrollan tidak terbatas, yang penting terdapat koneksi internet.
  • User Interface lebih fleksibel untuk dapat digunakan di multi OS, misal android, windows phone, blackberry, Windows, MacOS, Linux


October 31, 2015
Posted by Niam Tamami

Internet of Things | Membuat Webserver Sederhana | nitbot.com

blognitbot.com

Oke, hari ini kami akan membahas mengenai pembuatan webserver dengan intel galileo. Sebenarnya apakah webserver itu? Webserver yang dimaksud di sini adalah sebuah alat yang mampu menerima permintaan HTTP dan HTTPS sehingga bisa menampilkan data HTML di web browser yang kita miliki dalam bentuk tampilan website. Teknologi ini cukup penting untuk saat ini, karena dengan adanya teknologi ini maka alat alat elektronik bisa diintegrasikan dan terhubung dalam jaringan internet atau yang sering disebut dengan istilah Internet of Things.

September 22, 2015
Posted by Niam Tamami

Entri Populer

tweet

- Copyright © 2013 blog.nitbot.com -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -