Installing Ride on Pi Zero

Installing Ride v1.7.4 on Raspberry Pi Zero with Raspbian is a Challenge, especially during preperation and installation of wxPython for pi Zero

Base setup from pi Zero:

  • Rasbian buster lite
  • python 3.7x

Do SW update before installing :

sudo apt-get update
sudo apt-get upgrade
sudo apt get dist-upgrade

Do Install pip3 for my pi zero:

sudo apt-get install python3-pip

Prepare installation before installing wxPython on pi Zero:

sudo apt-get install dpkg-dev build-essential swig python-dev libwebkit-dev libjpeg-dev libtiff-dev checkinstall freeglut3 freeglut3-dev libgtk2.0-dev  libsdl1.2-dev libgstreamer-plugins-base0.10-dev libgstreamer0.10-dev libgconf2-dev libglapi-mesa libosmesa6 libglu1-mesa-dev libglu1-mesa mesa-common-dev
sudo apt-get install build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev
sudo apt-get install python3.7-dev
sudo apt-get install python-wxgtk2.8 python-wxtools wx2.8-i18n libwxgtk2.8-dev libgtk2.0-dev

sudo apt-get install gtk+-3.0 gtk+3.0-dev
sudo pip3 install pathlib2

Now install wxPython, it can take long (+/- 24 Hours) by pi Zero!

sudo pip3 install wxPython

If it’t passed you can install Ride !

sudo pip3 install --upgrade robotframework-ride

You can start the Ride now as remote sessions:

Ride.py &

Raspberry Pi & Robotframework

Raspberry Zero W connected directly to Mac with OTG mode

Why using Robotframework on Raspberry pi?

As Raspberry pi user , sometimes I have problems after doing OS update with some application I currently workout on pi, mean do “sudo apt-get update” , “sudo apt-get upgrade” & do “Reboot” everythings goes Wrong 🙁 !.

I have been using Robotframework since 2006, and would like to show you how simple to run a Regresion Test with Robotframework Framework on SBC like Rasberry Pi and Co’s. Robotframe work need only python ecosystem, which are out of the box delivered by Raspbian OS. And also it needs minimal resource of space in SD card.

As a sample I will start with installation of Robotframework , please check before if you have python pip installer installed on your Rasbian before starting with the installation!

Start Installation of Robotframework on Pi

sudo apt-get install python3-pip
sudo pip3 install robotframework
Installation run OK

Check Robotframework runner:

robot --version

Robotframework runner OK

You can used nano or Test IDE Ride for writing Tests .

Installing Robotframework-RIDE test IDE:

sudo pip3 install robotframework-ride

Start RIDE on Mac with ssh conection to pi:

ride.py & 

Running Robotframework-RIDE for testing Temperature Sensore Interface on Pi

now you can start writing your Test, please refer to Robotframework manual for more Information.

Let check the SD card used for Robotframework Installation, just 1% from 16 GB SD card!

Used pi space after Robotframework Installation

Wish you happy Testing and Try Out!

Testing Soap interface with Robotframework Library

For efficient testing sometime you need to created automaticaly request xml feeding soap interface. If you are familiar with robot framework, it’s great. Robotframework has already 2 external Library, which handle SOAP interfaces communication.( Süds Library or Zeep Library ) .

There are a lot of opinion in Internet about these two libraries, discussing pro and contra using one of these lib. for testing SOAP.

Important things to do, you have to find out which library can handle “your WSDL“ better!

For my task, Suds library does.

How to find it out?

Just run your SOAP Library keyword pointing out your target WSDL .

Used “Create Soap Client” keyword for testing the binding if you get all the entities and objects on your WSDL, If the answed “OK” than you can used your Library for SOAP,


Ports (1):
….
Methods (10):
addToIndex(xs:string guid, )
getProductMetadaten(xs:string guid, )
getProductMetadatenGuidList(xs:string query, )
getProductMetadatenList()

Types (62):
ns3:AbstractCurveType
ns3:AbstractGMLType
ns3:AbstractGeometricAggregateType
ns3:AbstractGeometricPrimitiveType

If not you have to find out other library for interfacing with SOAP.

As sample I got these error using Zeep for parsing my WSDL:

self.item_type = self.item_type.resolve()
AttributeError: ‘lxml.etree.QName’ object has no attribute ‘resolve’

These error are related to these following open issue on Zeep:

Sample of created XML request from RF with Suds Library:


XML Request Created with RF & SUD from input WSDL

this is how I wrote it in Robotframework Test Suite:

map WSDL local
Run Keyword and Continue On Failure setProductMetadaten

this is how I wrote it in Robotframework Test Case:

show object setProductMetadaten
setProductMetadaten

calling internal keyword:

${object}= Create WSDL Object n2:ProductMetadata
Set Wsdl Object Attribut ${object.commonMetadata} identifier ${dummy_text}
Set Wsdl Object Attribut ${object.commonMetadata} title ${dummy_text}
Set Wsdl Object Attribut ${object.commonMetadata.description} summary ${dummy_text}
Set Wsdl Object Attribut ${object.commonMetadata.description} comments ${dummy_text}
Set Wsdl Object Attribut ${object.commonMetadata.product} type ${dummy_text}
Set Wsdl Object Attribut ${object.commonMetadata.product} subtype ${dummy_text}
Set Wsdl Object Attribut ${object.commonMetadata} rflAuftragsnummer ${dummy_text}
Set Wsdl Object Attribut ${object.commonMetadata.change} version ${dummy_text}
${result}= call Soap method setProductMetadaten ${object}

RFlog result

RFlog result

Creating 100X Request with RF For loop keyword

map WSDL local
:FOR ${i} IN RANGE 100
setProductMetadaten

Hope these infos help you starting your SOAP request creation with Robotframework & SudsLibrary, just another way of SOAP testing than using SOAPUI.

Custom PB4 (shorted)

Below PB4 adalah assesori nikon yang saya gunakan untuk pemotretan macro atau pemandangan.
Kelebihan dari below ini dibandingkan dengan below nikon yang lain adalah kemampuan untuk shift serta tilt, sehingga anda dapat mengatur DOF sesuai yang anda inginkan dalam komposisi gambar anda. Ini adalah solusi saya sebelum ada lensa Tilt & Shift dari Nikon.

Below ini di perpendek sampai scala 10 cm dari ukuran asalnya untuk mempermudah handling pemotretan.

lensa ini biasanya saya pakai dengan lensa:

  • Below Tessar 50mm/2,8
  • Enlager Lens EL Nikkor APO 135mm/5,6
  • Olympus Zuiko Auto1:1 80mm/4

Dengan PS4 sebagai Slide Copy

Modifikasi lebih lanjut untuk dipakai dengan digital kamera silahkan dilihat disini

Custom Tripod Mount for Nikon 80-200mm f/2.8 AF-D ED

Lensa Zoom Nikkor ini adalah lensa AFD Zoom Nikon satu satunya yang saya sering gunakan untuk pengambilan gambar dengan kamera Nikon Analog saya, lensa ini mempunyai ring Fokus yang menyatu dengan Ring Zoom, sehingga memudahkan , mengatur posisi fokus secara manual pada kamera anda.

Sayangnya lensa ini tidak mempunyai Tripod mount, untuk pengambilan foto tertentu, sekiranya anda harus menggunakan Tripod, tidak mungkin anda menggunakan mounting yang ada di Body kamera anda untuk menyangga kamera dengan lensa ini di Tripod.

Untuk itu saya menggunakan Adapter untuk Tripod mount dari Firma Burzynski, dengan custom adapter ini anda dapat menggunakan kamera ini dengan format Vertikal dan horisontal pada Tripod Tanpa kesulitan, Lens Hood juga dapat anda gunakan seperti biasa, Fungsi kamera juga tidak terganggu untuk manual Focus tanpa tripod.

Juga anda dapat menggunakan Case Original Nikon untuk menyimpan lensa ini !

Mounting Part juga sudah menggunakan standart quick release dari Arca Swiss.

Nikon FG20

Akhir Tahun 2018 saya menerima pemberian Nikon body FG20 dan lensa Zoom- 35-105mm Nikkor /3,5-4.5 dari mertua saya.
alasan dia adalah karena dia sudah tidak lagi menggunakan kamera analog ini.

Sekilas saya melihat langsung & tertarik sekali dengan prinsip dasar yang dibuat untuk kamera ini, sangat sederhana, dalam fungsi dan penggunaan, terlebih lebih setelah lensa saya ganti dengan lensa Tokina 20-35mm dengan rana 2,8 , Tiba tiba finder nya menjadi terang sekali lebih nyaman dipakai dibandingkan dengan finder finder yang anda bisa temukan di kamera digital jaman kini.

Lensa Zoom- 35-105mm Nikkor /3,5-4.5 , juga saya pasangkan ke nikon F4 E saya, dengan body F4 , anda dapat memakai Spot dan matrix mettering dengan lensa ini!

Dengan lensa Voigländer Ultron 40mm/2.0 , kamera ini menjadi sangat kompak,

Pi Zero Kamera dan applikasi dengan Apple Home

Sudah lama sebenarnya saya merencanakan untuk membuat Home Camera dengan pi Zero W, sebagai solusi, security kamera, karena kebanyakan kamera yang ada di pasaran tidak memenuhi kebutuhan yang saya kehendaki.

Dibawah ini sekilas apa yang anda perlukan untuk memulai membuat smarthome kamera untuk apple home dengan raspberry pi zero W & pi camera.

Selamat mencoba!

Hardware untuk IOT:

  • raspberry zero WH / zero W
  • IPHONE/IPAD
  • HomePod
  • Pi Camera 8MP ver2.1
  • micro SD Card 16G

Software yang anda butuhkan :

  • NodeJs
  • homebridge
  • homebridge plug in camera-rpi
  • rasbian streach light sebagai basis Operating System
  • pm2 sebagai demon manager

Keunggulan dibandingkan dengan Kamera jadi yang tersedia di pasaran:

  • Keamanan terjamin karena anda sendiri yang mengetahui bagaimana mingimplementasikan Wifi dan code untuk kommunikasi dengan Apple Home.
  • Harga yang relativ lebih murah, dibandingkan solusi yang telah jadi (pi zero W sekitar 15 € , pi kamera 8 MP v2.1 sekitar 29€, micro SD Card 16 G sekitar 18€).
  • Jumlah kamera yang dapat anda implementasikan untuk smarthome anda tidak terbatas.

Referensi Links untuk implementasi:

Modifikasi pi zero w housing dengan camera housing:

Testing MS Software Rollout with Python ,WMI, and LDAP3

Most MS (Microsoft) software roll-out are release via SCCM to all Project Infrastructure (DC, AD, Application Servers, Application Clients). Usually testers are using Standards MS Tools like Powershell, MS CMD (tools: like netsh, wmic, etc) for validating Installation results on targets.

This article describe how the same tasks solve with python scripting using WMI & LDAP3 library.

Common Test Task & Rollout Workflow:

  1. Rollout related Packages will be distributed to MS SCCM
  2. Over SCCM Application GUI Testers trigger the release processes for target environment (Server/Client PC)
  3. On target environments testers mock up the sccm client update sequence to push roll-up update for related Packages.
  4. After SCCM agent invoke successfully SW update, the validation steps starting, Testers use common  MS OS GUI like “Software Information GUI” or “Service Information GUI ” for validating Installation status. Some Testers also used Powershell commands for Validating installations.

 Just daily tasks for MS Administrator , as test analyst , I try to find out more efficient way.

After  some investigation  I find out, the way validating MS SW status over WMI Interfaces are much easier than any Powershell or Dos Batch command, especially  with pywmi.  

These following WMI class Objects  are interesting for SW Installations
Validation :

  • Win32_OperatingSystem
  • Win32_Product
  • Win32_BaseService
  • Win32_Service
  • Win32_NTDomain
  • win32_optionalfeature
  • win32_ComputerSystem
  • Win32_PingStatus

Using pywmi, ldap3, winkerberos and common Excel library on python, I created scripts which extract the installed SW, Services Status, Drive Mapping , Domain configuration and AD Application User Accounts. All as excel files containing  Tabs related to the mentions check Topics.

Status, Drive Mapping , Domain configuration and AD Application User Accounts. All as excel files containing  Tabs related to the mentions check Topics

I Run it before SW update and after Update, find out the delta Information’s I got in my excel sheet and cross check if all Items match to release roll-out specifications.  

Added Value:

  • The script can be pointed for remote Target using WMI remote functionality.
  • Limited scripts to do only wmi-get  / LDAP show action (under executable) , to guaranties that no system or installation change cause by test action.
  • Validating more easier than with MS Scripting( I created “.exe” files for each test with py2exe)
  • I don’t mess any test object, because no installation for python needed (all checks are run as “.exe” files and can easily remove after test)

Ref:

Analog Kamera Forum

Bermula dari thread tentang komunitas kamera tua di fn (fotografer.net), dan Komunitas Kamera Analog Indonesia di yahoo

lalu di Facebook (Komunitas Kamera Analog Indonesia).

Müncul ide Blog ini, dengan tujuan untuk memudahkan pertukaran informasi (info tentang kamera analog, links yang berguna, sarana tanya jawab, sarana mendapatkan data reparasi kamera, sarana pertukaran informasi/gambar kamera analog yang langka)

Sepanjang waktu saya memungkinkan saya mencoba untuk posting data yang saya kumpulkan untuk rekan rekan penggemar kamera analog di milis ini silahkan bergabung .

salam

Andie Tanadi

Migrasi Pi OS dari SD card ke SSD pada Pi 3 B+

selama ini semua implementasi saya dengan Pi (raspberry pi 2 / Zero W) menggunakan medium SD card sebagai sarana medium untuk OS Rasbian.

Tentunya sarana medium SD untuk penyimpanan sangat terbatas oleh harga dan “live Cycle” dari SD, Yang dimaksud dengan live Cycle adalah Dauer hidup dari SD card yang anda pakai adalah  terbatas, tergantung dari kwalitas Merek yang anda pakai, dengan kata lain semangkin sering anda menulis di SD medium anda semangkin pendek dauer hidup dari SD card anda!

Faktor keterbatasan ini sangat mengganggu seandainya anda menggunakan Raspbery anda sebagai “Web Server”, lagi pula jika anda ingin membuat “Web Site” yang banyak memuat foto maka anda membutuhkan medium speicher yang lebih besar dari 8/16 GByte.

Saya menggunakan pi 2 B pada mulanya dengan SD Card 16 GB untuk Worldpress site ini. Pada kesempatan ini saya akan mengulas sedikit bagaimana saya memindahkan World Press tersebut ke pi 3 B+ dengan SDD sebagai medium penyimpanan OS.

 Hardware yang anda perlukan:

  • Raspberry pi 3B+ / pi3B
  • SSD card & adapter kabel SATA ke USB2
  • Initial SD card untuk konfigurasi boot manager

Program yang anda perlukan :

  • Raspbian Streach Image ( karena Site Worldpress saya sudah berbasis Streach Light maka saya hanya memerlukan , membuat image dari SD card saya untuk kemudian saya pindahkan ke SSD card).   
  • “Burnning” image Program untuk Operating system yang anda perlukan, karena saya pengguna MAC maka saya menggunakan Etcher .

Langkah migrasi yang anda perlu lakukan sebagi berikut:

  • Buatlah image dari SD card yang akan di migrasi.
  • Setelah itu dengan SD card dengan Rasbian Streach versi tahun 2018 anda dapat mempersiapkan boot setting untuk pi3 B/B+ anda sebagai berikut:  
    • sudo apt-get update
    • sudo apt-get install rpi-update
    • sudo branch=next rpi-update
  • berikut ini komando untuk nmenyalakan USB Boot mode:
    • echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
  • Sekarang yang anda harus lakukan adalah memindahkan image dari aplikasi raspberry anda dari image ke SSD card, untuk pembuatan image dengan Etcher Unsafe mode harus anda aktivkan (enable).
  • Peringatan !!!  sebelum anda menekan Button Flash , pastikan bahwa anda telah memilih drive (medium) yang tepat, kalau tidak kemungkinan besar anda akan merusak target anda , 
  • Setelah SSD Drive terisi dengan applikasi dari Image silahkan untuk menghubungkan SSD anda dengan USB adapter ke pi3B/B+
  • Setelah itu anda dapat mengeluarkan SD card dari Pi3B/B+ anda dan melakukan reboot
    • sudo shutdown -h now
    • cabut kabel power anda
    • keluarkan SD card dari PI
    • hubungkan SDD dengan SATA-USB adapter ke pi
    • hubungkan kabel power anda , dan lihat apakah pi anda sukses untuk reboot. Untuk langkah selanjutnya anda membutuhkan tool gparted, pada umumnya partisi dari ssd tidak dimanfaatkan semaximal mungkin dengan image burn, dan anda memerlukan gparted untuk merelokasi partisi SDA2 di SDD anda:

Installasi gparted & gksudo:

sudo apt-get install gparted
sudo apt-get install gksudo

check penggunaan ssd dengan:

dh - --total

Start gparted dari terminal di mac dengan:

gksudo gparted &

disini silahkan anda merubah sda2 partition sehingga maximal:

df -h --tatal

Disinilah anda akan melihat perubahan dari sebelumnya

Selamat mencoba!!!

Referensi bagaimana melakukan migrasi secara manual bisa anda lihat di sini