root@fandigunawan

November 23, 2017

Flashing NodeMCU Firmware

Filed under: Electronics, Microcontroller, Software Development, Uncategorized — fandigunawan @ 4:27 am

After compiling the firmware, I need to upload the firmware manually. The tool required to flash the board (on Windows) can be obtained here, and then select Download.

CaptureEspDownload

You will need WinRAR or 7-Zip (free) to extract the rar archive. Double click the exe file and select ESP8266 Download Tool

CaptureFLash362

You need to set the correct Crystal Freq, SPI Speed, SPI Mode and Flash Size (please check the datasheet of your board). The default setting Crytal Freq 26Mhz, SPI Speed 40Mhz, SPI Mode DIO and Flash Size 32 Mbit is just fine on my board. The next is to select the firmware and set the address to 0x0. The COM port needs to be selected as well, if you have not installed the USB to Serial driver please check the manufacturer website or download the driver manually. I found out that there are several variants of USB to Serial chip : CH340, CP2102 and FTDI. Well, you can google it to download the driver.

Then, press start to download the firmware and voila, you get yourself new updated firmware

 

Advertisements

Espressif ESP8266 Compiler on Windows 10 for NodeMCU

Filed under: Electronics, Microcontroller, Software Development, Uncategorized — Tags: , , , , — fandigunawan @ 3:59 am

I got a new board to play with, it is a WiFi board that is programmable so that I will not need extra Arduino or other development board that will increase complexity or cost. The WiFi board is NodeMCU, it has GPIO, SPI, I2C, ADC and many more features on it. As the board is open sourced both in hardware and software terms, you may visit their github page to see the whole development package. The board’s price is quite cheap, well in Indonesia I got it for about 5USD.

CaptureNodeMCU

NodeMCU board is preloaded with default firmware where you can code directly using Lua script. For Lua documentation of the board please visit user manual page  or clone the firmware source code and read the documentation.

The problem arose when actually not all of the modules was built into default firmware (besides, the firmware is pretty old 1.4 compared to the current version 2.1). Therefore, I need to compile the firmware by myself. There are several ways to compile the firmware :

  1. Online build service (easiest) where you can choose which modules to be embedded into the firmware and then after the build process is completed the link to the firmware will be emailed back to you
  2. Linux Docker Image
  3. Linux build environment which requires you full fledged Linux OS
  4. Linux on Windows (which will be covered here)

To be able install Linux subsystem on Windows there are several prerequisite :

  1. Windows 10 version 16215 or higher
  2. x64 machine

Go to Run and type Appwiz.cpl select Turn on Windows features on or off. Check Windows Subsystem for Linux

CaptureWinSubsystem.PNG

Then reboot the computer

Afterward, go to Microsoft Store and search Ubuntu

CaptureMSStore

Select Ubuntu and InstallCaptureMSUbuntu

Then find the Ubuntu menu on your start menu.

CaptureUbuntu

Execute the following lines:

sudo apt–get update

sudo apt-get install  build-essential zip gdb git vim make unrar autoconf automake
bison texinfo libtool gcc g++ gperf libc-dbg ncurses-dev expat flex help2man
lua5.1 lua5.1-doc luarocks srecord python2.7

for m in bitlib luafilesystem md5 luaposix luasocket; do sudo luarocks install $m; done

git clone https://github.com/nodemcu/nodemcu-firmware.git

You need to change your directory to your firmware source code in my case nodemcu-firmware-2.1.0-master_20170824

cd nodemcu-firmware-2.1.0-master_20170824

After cloning the latest firmware you need to setup the compiler

luarocks install luafilesystem

tar -Jxvf tools/esp-open-sdk.tar.xz

export PATH=$PATH:$PWD/esp-open-sdk/xtensa-lx106-elf/bin

lua tools/cross-lua.lua || exit 1

To select which modules to be selected or deselected, you can change app/include/user_modules.h files. Uncomment the module if you think it is not necessary.

To enable TLS support check app/include/user_config.h and uncomment CLIENT_SSL_ENABLE

There are 2 version of firmware, one with floating number support and one with integer number. If you are dealing with floating number the float firmware is the correct choice.

Then you may compile the firmware using the following command

Float firmware

export PATH=$PATH:$PWD/esp-open-sdk/xtensa-lx106-elf/bin

export BUILD_DATE=$(date +%Y%m%d)

make clean

make EXTRA_CCFLAGS=”-DBUILD_DATE=’\”‘$BUILD_DATE’\”‘” all

cd bin/

srec_cat -output nodemcu_float_$BUILD_DATE.bin -binary 0x00000.bin -binary -fill 0xff 0x00000 0x10000 0x10000.bin -binary -offset 0x10000

The build result will be in bin/nodemcu_float_$BUILD_DATE.bin

Integer firmware

export PATH=$PATH:$PWD/esp-open-sdk/xtensa-lx106-elf/bin

export BUILD_DATE=$(date +%Y%m%d)

make clean

make EXTRA_CCFLAGS=”-DLUA_NUMBER_INTEGRAL -DBUILD_DATE=’\”‘$BUILD_DATE’\”‘” all

cd bin/

srec_cat -output nodemcu_integer_$BUILD_DATE.bin -binary 0x00000.bin -binary -fill 0xff 0x00000 0x10000 0x10000.bin -binary -offset 0x10000

The build result will be in bin/nodemcu_integer_$BUILD_DATE.bin

There you go the firmware that you need (integer firmware)

CaptureFW

I will post further about how to flash and create the first “hello world”program

Further readings:

March 15, 2009

Theme changed

Filed under: Misc, Uncategorized — Tags: , — fandigunawan @ 6:01 am

Well I don’t know why my previous theme : POLO could not show proper sidebar and I don’t really know the reason. I finally decided to change the theme after the problem above arose.

This theme looks simpler and cleaner than previous theme. So enjoy the new theme.

August 17, 2008

The Serial Programmer for Atmel AVR

Filed under: Uncategorized — Tags: , , , , , — fandigunawan @ 4:15 pm

Finally I could post my schematics and PCB diagram that I used to program my AVR microcontroller. The programmer is based on http://electronics-diy.com/avr_programmer.php .

You may download the schematics diagram and PCB in the following link:

https://fandigunawan.wordpress.com/siprog.zip

May 22, 2007

Untuk direnungkan [2]

Filed under: Misc, Uncategorized — fandigunawan @ 10:15 am

Taken from my favourite site : www.echo.or.id

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

all aboutz hacking – from outside

–====—-====—-====—-====—-====—-====—-====—-====—-====

*RFC1392,Internet User Glossary, : Hacker adalah: Seseoang yang tertarik
untuk mengetahui secara mendalam mengenai kerja suatu system,komputer,
atau jaringan komputer.”

Pengertian:
==========
hack
[secara umum]
1.pekerjaan yang dilakukan secara cepat dan berhasil, walau tidak sempurna
2.Suatu hal Mustahil, dan mungkin menghabiskan banyak waktu tetapi
menghasilkan yang diinginkan.
3.untuk membuktikan baik secara emosional ataupun fisik bahwa ini bisa
dilakukan
4.Mengerjakan sesuatu secara bersungguh-sungguh, dengan ketelitian yang
tinggi
5.Berinteraksi dengan komputer dalam bermain dan bereksplorasi
6.kependekan dari hacker

hacker
[aslinya, seseorang yang membuat kerajinan dengan kapak]
1.Seseorang yang sangat senang mengeksplorasi suatu program dari suatu
system untuk untuk mengetahui batas kemampuannya, dengan mengunakan cara-
cara dasar yang akan digunakan oleh orang yang tidak mengerti dan
mengetahui bagaimana program itu dibuat dan dengan pengetahuan minimum
terhadap program.
2.seseorang yang sangat antusias dalam membuat program, dan lebih menikmati
membuat program dibandingkan berteori tentang program tersebut.
3.seseorang yang mampu melakukan “hack”
4.seseorang yang sangat baik dalam memprogram
5.ahli pemrograman, atau sering melakukan pekerjaan dengan program itu
6.ahli yang tertarik dengan semua hal, contoh hacker di bidang astronomy.
7.seseeorang yang senang dengan tantangan intelektual dengan ide kreatif
8.seseorang yang secara sembunyi-sembunyi berusaha menemukan informasi
penting dengan cara menjelajah, lebih sering di sebut sebagai cracker.
Crack
[warez d00dz]
1.memaksa masuk kedalam suatu sistem
2.kegiatan menghilangkan copy protection
3.Program, instruksi yang digunakan untuk menghilangkan copy protection

Cracker
1.seseorang yang mencoba masuk kedalam suatu jaringan secara paksa dengan
tujuan mengambil keuntungan, merusak, dsb.
2.seseorang yang menghilangkan copy protection
3.seseorang yang melakukan kegiatan “crack”

Cracking
1.kegiatan membobol suatu sistem komputer dengan tujuan menggambil
keuntungan merusak dan menghancurkan dengan motivasi tertentu.

Etika Hacker
============
1.Kepercayaan bahwa berbagi informasi adalah suatu hal yang sangat baik dan
berguna, dan sudah merupakan kewajiban (kode etik) bagi seorang
hacker untuk membagi hasil penelitiannya dengan cara menulis kode yang
“open-source” dan memberikan fasilitas untuk mengakses informasi tersebut
dan menggunakan peralatan pendukung apabila memungkinkan.

2.keyakinan bahwa “system-cracking” untuk kesenangan dan eksplorasi sesuai
dengan etika adalah tidak apa-apa [OK] selama seorang hacker, cracker
tetap komitmen tidak mencuri, merusak dan m elanggar batas2 kerahasiaan.

=(di ambil,diartikan dan diedit dari the jargon file (versi 4.4.4) )=

==========================================================

“Yang menarik,ternyata dalam dunia hacker terjadi strata-strata (tingkatan)
yang diberikan oleh komunitas hacker kepada seseorang karena kepiawaiannya,
bukan karena umur atau senioritasnya. Saya yakin tidak semua orang setuju
dengan derajat yang akan dijelaskan disini,karena ada kesan aroganterutama
pada level yang tinggi. Untuk memperoleh pengakuan/derajat, seorang hacker
harusmampu membuat program untuk eksploit kelemahan sistem, menulis
tutorial (artikel), aktif diskusi di mailing list, membuat situs web dsb.”

Hirarki Hacker
==============
Mungkin agak terlalu kasar jika di sebut hirarki / tingkatan hacker;
saya yakin istilah ini tidak sepenuhnya bisa di terima oleh masyarakat
hacker. Oleh karenanya saya meminta maaf sebelumnya. Secara umum yang
paling tinggi (suhu) hacker sering di sebut ‘Elite’; di Indonesia mungkin
lebih sering di sebut ‘suhu’.Sedangkan, di ujung lain derajat hackerdikenal
‘wanna-be’ hacker atau dikenal sebagai ‘Lamers’.
Elite :
Juga dikenal sebagai 3l33t, 3l337, 31337 atau kombinasi dari itu; merupakan
ujung tombak industri keamanan jaringan. Mereka mengerti sistemoperasi luar
dalam, sanggup mengkonfigurasi & menyambungkan jaringan secara global.
Sanggup melakukan pemrogramman setiap harinya. Sebuah anugrah yang sangat
alami, mereka biasanya effisien & trampil,menggunakan pengetahuannya dengan
tepat. Mereka seperti siluman dapat memasuki sistem tanpa di ketahui,
walaupun mereka tidak akan menghancurkan data-data. Karena mereka selalu
mengikuti peraturan yang ada.

Semi Elite:
Hacker ini biasanya lebih mudadaripada Elite.Mereka juga mempunyai kemampuan
& pengetahuan luas tentang komputer. Mereka mengerti tentang sistem operasi
(termasuk lubangnya). Biasanya dilengkapi dengan sejumlah kecilprogram cukup
untuk mengubah program eksploit. Banyak serangan yang dipublikasi dilakukan
oleh hacker kaliber ini, sialnya oleh para Elite mereka sering kali di
kategorikan Lamer.

Developed Kiddie:
Sebutan ini terutamakarena umur kelompok ini masih muda (ABG)&masih sekolah.
Mereka membaca tentang metoda hacking & caranya di berbagai kesempatan.
Mereka mencoba berbagai sistem sampai akhirnya berhasil & memproklamirkan
kemenangan ke lainnya.Umumnya mereka masih menggunakan Grafik UserInterface
(GUI) & baru belajar basic dari UNIX, tanpa mampu menemukan lubang kelemahan
baru di sistem operasi.

Script Kiddie:
Seperti developed kiddie, Script Kiddie biasanya melakukan aktifitas di atas.
Seperti juga Lamers, mereka hanya mempunyai pengetahuan teknis networking
yang sangat minimal. Biasanya tidak lepas dari GUI. Hacking dilakukan
menggunakan trojan untuk menakuti & menyusahkan hidup sebagian pengguna
Internet.

Lamer:
Mereka adalah orang tanpa pengalaman & pengetahuan yang ingin menjadi hacker
(wanna-be hacker). Mereka biasanya membaca atau mendengar tentang hacker &
ingin seperti itu. Penggunaan komputer mereka terutama untuk main game, IRC,
tukar menukar software prirate, mencuri kartu kredit. Biasanya melakukan
hacking menggunakan software trojan, nuke & DoS. Biasanya menyombongkan diri
melalui IRC channel dsb. Karena banyak kekurangannya untuk mencapai elite,
dalam perkembangannya mereka hanya akan sampai level developed kiddie atau
script kiddie saja.

Etika & Aturan main Hacker
=========================

+ Di atas segalanya, hormati pengetahuan & kebebasan informasi.
+ Memberitahukan sistem administrator akan adanya pelanggaran keamanan/lubang
di keamanan yang anda lihat.
+ Jangan mengambil keuntungan yang tidak fair dari hack.
+ Tidak mendistribusikan & mengumpulkan software bajakan.
+ Tidak pernah mengambil resiko yang bodoh
+ selalu mengetahui kemampuan sendiri.
+ Selalu bersedia untuk secara terbuka/bebas/gratis memberitahukan&
mengajarkan berbagai informasi & metoda yang diperoleh.
+ Tidak pernah meng-hack sebuah sistem untuk mencuri uang.
+ Tidak pernah memberikan akses ke seseorang yang akan membuat kerusakan.
+ Tidak pernah secara sengaja menghapus & merusak file di komputer yangdihack.
+ Hormati mesin yang di hack, dan memperlakukan dia seperti mesin sendiri.

Jelas dari Etika & Aturan main Hacker di atas, terlihat jelas sangat tidak
mungkin seorang hacker betulan akan membuat kerusakan di komputer.
=(diambil , dan diedit berdasarkan tulisan : Onno w. Purbo)=

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=–=-=-=-=-EOF]

Create a free website or blog at WordPress.com.