Raspberry Pi ??zerinde Netbeans Java Dili ile ????lemci S??cakl??????na G??re LED ile Uyar??
Raspberry pi ba??lang???? uygulamas?? olarak i??lemcinin s??cakl?????? belli bir seviyenin ??st??ne ????kt?????? anda ekrana uyar?? verip bir k??rm??z?? led yakaca????z. Bu yaz??da Java dilinde nas??l yap??ld?????? detayl?? olarak g??sterilecektir. Bu i??lemi yapabilmek i??in
- Raspberry pi
- Netbeans Java
- Pi4J k??t??phanesi
- 2 adet erkek ??? di??i jumper kablo
- Diren??
- 1 adet k??rm??z?? led
- 1 adet k??????k breadboard
gereklidir.
Raspberry pi bilgisayar??n??za, raspbian i??letim sistemi kurulu oldu??unu d??????nerek ilk yap??lmas?? gereken Netbeans Java geli??tirme ortam??n??n kurulmas??d??r. https://netbeans.org/downloads/ adresine girildikten sonra platform olarak OS Independed Zip se??ilmeli ve daha sonra Java SE indirilmelidir. ??ndirilen zip dosyas?? NetBeans?????n kurulaca???? herhangi bir klas??re a????labilir. Bu a??amadan sonra NetBeans kurulmu??tur. Kurulu olan klas??r??n i??erisinde bin klas??r??ne girilip, uzant??s??z NetBeans dosyas??na t??klan??p uygulama ba??lat??labilir. Java dilinde Raspberry pi?????n d????ar??dan ba??lanan herhangi bir devre ile ileti??ime ge??mesi i??in Pi4J k??t??phanesi kullan??labilir. http://pi4j.com/download.html adresinden Pi4J Snapshot.zip dosyas?? indirilmeli ve yine bir klas??re a????lmal??d??r. Daha sonra NetBeans???ta bir proje olu??turulup, NetBeans ara y??z??ndeki proje alt??nda bulunan Libraries k??t??phanesine ters t??klan??p Add JAR/Folder se??ene??i se??ilmelidir. Daha sonra Pi4J Snapshot.zip dosyas??n?? a??m???? oldu??unuz klas??re gidip onun alt??ndaki lib klas??r??nde bulunan b??t??n .jar dosyalar?? se??ilip tamam tu??una bas??lmal??d??r. B??ylelikle Pi4J k??t??phanesini projenize eklemi?? olursunuz.
Bu a??amadan sonra devreyi kural??m, tabiki Raspberry pi?????n kapal?? olmas?? do??ru bir tercih olacakt??r. Alm???? oldu??umuz k??????k breadboard ??zerine k??rm??z?? ledi yerle??tirelim. Led???in uzun baca???? art?? ucu g??stermektedir. Daha sonra jumper???lar yard??m??yla breadboard????? Raspberry pi???a ba??layal??m. Direnci de breadboard???a ba??lad??ktan sonra devre tamamlanm???? olacakt??r. Neyin nereye tak??laca????n?? daha iyi anlamak ad??na a??a????daki ??ekle bak??labilir. Beyaz kablo sa??dan alt??nc?? di??e, turuncu kablo beyazdan sonra 2 di?? bo?? b??rakarak soluna yerle??tirilmelidir.
Breadboard k??sm??na bakarsak a??a????daki gibi ba??lanmas?? gerekti??i g??r??lecektir. Diren?? kullanmadan led uygulamalar?? kesinlikle yapmay??n??z.
??imdi Raspberry pi cihaz??n??z?? a????p NetBeans projenizi a??abilirsiniz. Projenizdeki main fonksiyonu i??erisine a??a????daki kodu kopyalay??n??z.
try{ final GpioController gpio = GpioFactory.getInstance(); final GpioPinDigitalOutput kirmiziLed = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_00,PinState.HIGH); while(true){ if(SystemInfo.getCpuTemperature() > 80){ kirmiziLed.blink(1000,15000); System.out.println("Uyar?? Yuksek S??cakl??k : "+SystemInfo.getCpuTemperature()+" C"); break; } } Thread.sleep(10000); gpio.shutdown(); } catch(Exception ex){ ex.printStackTrace(); }
Bu kod incelendi??inde ??nce bir GpioController olu??turuluyor. Daha sonra LED???i temsil eden bir de??i??ken tan??mlan??yor. Sonsuz d??ng?? i??erisinde s??rekli i??lemcinin s??cakl??k (SystemInfo.getCpuTemperature) kontrol?? yap??l??yor e??er s??cakl??k 80 C???i a??arsa k??rm??z?? LED birka?? kez yan??p s??necek ve ekranda Uyar?? Y??ksek S??cakl??k yaz??p i??lemcinin s??cakl??????n?? ekrana yazacakt??r. Program hemen sonlanmas??n diye Gpio kapat??lmadan Thread 10 saniye bekletilmektedir. A??a????da ??al????an ??ekli ile uygulama g??r??lebilir.