Category Archive:avietynas: uogienės

Jautri skrybėlė ponui Pitonui

andraika post on spalio 3rd, 2017
Posted in avietynas, avietynas: uogienės

Pavadinimas visai nekeistas iš tikrųjų.

Senokai nieko nedariau su avietynu- vasara, kelionės, drugelių gaudymai gėlėtose pievose ir panašiai 🙂 Bet orai eina šaltyn ir norisi kažką veikt viduj, todėl pasidomėjau, ką gero ir naujo interneto prekyvietės siūlo avietynui ir nenusivyliau- turbūt Raspberry Pi metų naujiena- plokštė Sense Hat, sukurta Astro Pi misijai, kurios metu kelios avietės su skrybėlaitėm buvo išsiųstos į TKS mokslo populiarinimo tikslais. Tai kas gi yra toji skrybėlė? ogi sensorių rinkinys su 64 led diodais, išdėstytais 8×8 kvadratu.

inertial measurement unit (IMU) , pasiskaitykit nuorodoj patys, kas tas yra, aš per kvailas meškiukas, kad sudėliot sklandžiai 🙂 akselerometras, gyroskopas, magnetoskopas, drėgnumo, temperatūros ir slėgio sensoriai.

Ir kas gi iš to? Ypatingai nieko, bet galima pasižaist su sensoriais. Visų pirma, jei nenorim kurt atskiro failo, tiesiog einam į Python ir sumetam, tarkim, oro drėgnumo kodą-

from sense_hat import SenseHat

sense = SenseHat()

humidity = sense.get_humidity()

print(„Humidity: %s %%rH“ % humidity) # alternatives print(sense.humidity)

gal galima išvestį atvaizduot dioduose, kol kas neišsiaiškinau.

analogiškai temperatūra

from sense_hat

import SenseHat

sense = SenseHat() temp = sense.get_temperature()

print(„Temperature: %s C“ % temp)

# alternatives

print(sense.temp)

print(sense.temperature)

kvailumas tame, kad temperatūros sensorius yra toje pačioje plokštėje kartu su kaistančia elektronika, kur kosmose gal būtų kitaip, pas mane ant stalo temperatūrų skirtumas tarp kambarinio termometro ir skrybėlės- 5 laipsniai Celsijaus.

na ir slėgio kodas

from sense_hat import SenseHat

sense = SenseHat()

pressure = sense.get_pressure()

print(„Pressure: %s Millibars“ % pressure)

# alternatives

print(sense.pressure)

norint pasibovyt su magnetometru, aka kompasu, sumetam šitas komandas

sudo apt-get install octave -y

cd

cp /usr/share/librtimulib-utils/RTEllipsoidFit ./ -a

cd RTEllipsoidFit

RTIMULibCal

atsidariusiame meniu galima rinktis magnetometro kalibraciją ir mojuot aviete ore. man visas smagumas buvo stebėt terminale besikeičiančius skaičiukus..

Čia buvo nuobodžioji dalis. linksmoji yra ta, kad galima bovytis su 64 RGB led’ais ir blykčiot visom kalėdinėm spalvom 🙂 jei, pvz., noriu bėgančio užrašo (sėdėjau minutes 5 ką parašyt ir nesugalvojau, tai įrašau beleką, nes švepluot nesinori, o lietuviškos abėcėlės arba nemoku padaryt arba negalima) „asilas pritvojo vynuogyne“

from sense_hat import SenseHat
sense = SenseHat()

sense.show_message(„asilas pritvojo vynuogyne“)

žinutę galima sukustomaizint, kaip nori, pvz:

from sense_hat import SenseHat

sense = SenseHat()

yellow = (255, 255, 0) # spalvos kodas
blue = (0, 0, 255) # spalvos kodas

message = "Asilas pritvojo vynuogyne"

speed = 0.05 # skrolinimo greitis

sense.show_message(message, speed, text_colour=yellow, back_colour=blue)

jei norim žinutę leist infinity loopu, metam sekantį kodo šmotą pitonui

from sense_hat import SenseHat
sense = SenseHat()

blue = (0, 0, 255)
yellow = (255, 255, 0)

while True:
sense.show_message(„Asilas prisitvojo vynuogyne“, text_colour=yellow, back_colour=blue, scroll_speed=0.05)

pabodus stabdom su Ctrl+C ir išvalom komanda sense.clear()



štai, išguglinau, kaip LEDai parodo temperatūrą, slėgį ir oro drėgnumą:

#!/usr/bin/python 
from sense_hat 
import SenseHat import time

ap = SenseHat() 
temp = ap.get_temperature() 
humidity = ap.get_humidity() 
pressure = ap.get_pressure()

print("Temp: %s C" % temp) # Show temp on console
print("Humidity: %s %%rH" % humidity) # Show humidity on console
print("Pressure: %s Millibars" % pressure) # Show pressure on console

ap.set_rotation(180) # Set LED matrix to scroll from right to left

ap.show_message("%.1f C" % temp, scroll_speed=0.10, text_colour=[0, 255, 0])

time.sleep(1) # Wait 1 second

ap.show_message("%.1f %%rH" % humidity, scroll_speed=0.10, text_colour=[255, 0, 0]) 

time.sleep(1) # Wait 1 second

ap.show_message("%.1f Millibars" % humidity, scroll_speed=0.10, text_colour=[0, 0, 255])

ap.clear() # Clear LED matrix

o dar ant plokštės yra mažytis džoistikutis, kurio pagalba galima, pvz., stumdyt pikseliuką po matricą sekančio kodo pagalba-

from sense_hat import SenseHat, ACTION_PRESSED, ACTION_HELD, ACTION_RELEASED
from signal import pause

x = 3
y = 3
sense = SenseHat()

def clamp(value, min_value=0, max_value=7):
return min(max_value, max(min_value, value))

def pushed_up(event):
global y
if event.action != ACTION_RELEASED:
y = clamp(y – 1)

def pushed_down(event):
global y
if event.action != ACTION_RELEASED:
y = clamp(y + 1)

def pushed_left(event):
global x
if event.action != ACTION_RELEASED:
x = clamp(x – 1)

def pushed_right(event):
global x
if event.action != ACTION_RELEASED:
x = clamp(x + 1)

def refresh():
sense.clear()
sense.set_pixel(x, y, 255, 255, 255)

sense.stick.direction_up = pushed_up
sense.stick.direction_down = pushed_down
sense.stick.direction_left = pushed_left
sense.stick.direction_right = pushed_right
sense.stick.direction_any = refresh
refresh()
pause()



tam kartui tiek, bėgu žaist :) visus kodo gabalus galima išsaugot failuose su plėtiniu *.py, kad kiekvieną kartą nekopypeistint. 

P.S. Atradau, kaip palikt skriptą suktis headless mode avietėj, nutraukiant SSH sesiją- komanda nohup. pvz- sudo nohup ./failas.py valiooo!!!

Darželis plečiasi

andraika post on vasario 18th, 2017
Posted in avietynas, avietynas: uogienės

Taip jau gavos, kad palėpėj kaimui transliuojanti balabaikas avietė su samopalna antena greičiausiai ir liks ten dedikuotai, tai, bekuičiant stalčius ir spoksant, kiek visko dar neišbandyto, kaip antai TFT ekranėlis , kažkodėl 4 sonarai  ir du motoriukai , o kur dar aibė jungčių, laidų, perjungėjų ir tt susibrandino mintis, kad nieko nebus, reikia plėst daržą. Pasakyta- padaryta, juolab kad kainos fizinėse ir internetinėse parduotuvėse skiriasi ant tiek mažai, kad neverta ir terliotis.

Taigi- Raspberry Pi 3 B modelis , naujoves galit peržvelgt, užsukę į nuorodą. Pagaliau integruoti wifi ir bluetooth moduliai, micro SD vietoj didelės, kas pradžiugino ir čia noriu tiesiog brūkštelt kaip pats sau tą initial setup , nes kožną kartą sėdžiu ir guglinėju sulig eiliniu perinstaliavimu.

Pirmiausia- raspbian imidžas ir windousinis įrankis Win32DiskImager iškepa kortelę mikliai ir be jokių hemorojų, nebelikę eilės operacijų su formatavimais, boot sektoriais ir ta visa nuobodžia xernia, miela ir paprasta 🙂

Sekantis žingsnis- pajungt prie avietės klavą, pelę ir moniką arba tv ir per GUI aktyvuot SSH, tuo pačiu susitvarkant per raspi-conf lokales, klavą ir tt. Viskas, reboot, klavą, pelę ir teliką- sandėliukan 🙂 Sekantis žingsnis- pajungt prie namų interneto laidu, nes su wifi pradžioj nieko nebus, pajungus prasiskanuot tinklą ir įsilogint su defoltiniais pi:raspbian. Pasikeist slaptažodį komandos passwd pagalba. Susikurt root acc su komanda sudo passwd root . Internetuose, žinia, vis dar apstu grėsmingų dudenimų, kad kam tau tas root, yra sudo, taip nedaryyyyk nes pavojinga, sugadinsi et cetera, atrodo, kad kožna avietė kontroliuoja balistinių raketų paleidimo įtaisą kaip minimum. Noriu ir darau, sugadinsiu tai perinstaliuosiu.

Toliau susitvarkom wi-fi modulį paprastai- readaguojam

 sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

ir gale dalipdom

network={
    ssid="namų tinklas"
    psk="slaptažodis"
}

kabutės lieka. pasitikrinam su komanda ifconfig wlan0, jei prie eilutės inet addr yra adresas- voila, viskas veikia, jei ne- pamėginkit perkraut, ištraukę kabelį. Po perkrovimo IP adresas vėl pasikeis, taigi praskanuojam tinklą ir pasidarom statinį IP, kaip jį padaryt, esu rašęs anksčiau ir pasirodo, jog naujausioj Jessie distroj anas receptas neveikia, prisiėjo ieškot naujo.

ir pabaigai viską suapdeitinam sekančiom komandom-

paketai

sudo apt-get update && sudo apt-get upgrade

branduolys

sudo apt-get update && sudo apt-get -y dist-upgrade

ir firmwaras

sudo rpi-update

reboot ir dirva eksperimentam paruošta, stay tuned 🙂