NXT med ”vanlig” kod

NXT har gått ur tiden så vad finns det för alternativ för att göra något mer spännade med dem idag?

Wikipedia har en lista:

https://en.wikipedia.org/wiki/Lego_Mindstorms

Samt den här sidan:

http://www.tldp.org/HOWTO/Lego/index.html

Hittade BrickxCC som har checkrutor för:

http://www.lejos.org/ – Senaste version 2015

http://brickos.sourceforge.net/ – Senaste version från 2005

pbForth

Vilket språk?

Python är trevligt, finns några varianter.

LUA, verkar intressant ibland.

Det verkar finnas en scratchvarant.

3d med kod

Har tänkt på det med att göra något för att koppla samman kod med 3d skapandet.

Såg openscad för ett antal år sedan och så berättade någon att de faktiskt använde det för att bygga gubbar tillsammans med sin publik. Så med en algoritm färdigskriven och så fyller man i värdena efter hand så blir det en figur. Det lät som en vettig övning.

Nu när tinkercad är det som de flesta lär sig tidigt så skulle det inte vara så svårt att gå över till det andra. Man har kunnat exportera openscad formatet från tinkercad.

https://github.com/openscad/openscad

Kollar andra varianter eller är det samma?

https://www.blockscad3d.com/editor/

http://www.teachingbites.com/072-2/

http://www.mattkeeter.com/projects/antimony/3/

https://github.com/mkeeter/antimony/releases

http://openjscad.org/

http://www.plasm.net/download/

https://github.com/dcowden/cadquery

makerscad === scratchycad

http://www.makerscad.com/#

http://www.play.makerscad.com/

http://scratchycad-docs.readthedocs.io/en/latest/getting_started.html

 

Blandad mjukvara som är opensource

http://narocad.com/

http://brlcad.org/

Har tänkt på freecad (3d med begränsningar)och librecad (riktig 2D).

 

Anpassad Windowsmiljö

En samling av appar jag använder.

Svorak

Tyvärr är inte det inbyggt i windows. Det finns i mac och linux. Någon dag hoppas jag på att det ska följa med systemet. Dvorak finns men det är inte svenska teckenuppsättningen med åäö.

http://aoeu.info/

AltDrag

Som openboxanvändeare i arch linux så är det väldigt vant för mig att flytta fönster med alt. Fast jag brukar ha det som windowstangenten i win för att för mycket annat ligger på alt när jag gör 3D.

https://stefansundin.github.io/altdrag/

Sharpkeys

Byter ofta ut capslock mot en backspaceknapp till. För att vara mer effektiv när jag skriver så har jag vant mig vid att ha två backspaceknappar.

https://sharpkeys.codeplex.com/

Win32DiskImager

dd finns inte i windows vad jag vet ännu. Det finns hopp för det nu när det kommer en bashversion i windows framöver har jag hört. Kanske är dd med så slipper man använda ett grafiskt 32 bitars program. Det gör lite ont i själen att använda 32bitarsprogram i 64bitars miljöer som i princip alla system jag haft varit sedan 2004.

https://sourceforge.net/projects/win32diskimager/

cmder

Jag har inte riktigt hittat en terminal som är en lösning för allt men cmder är rätt nära.

emacs

Japp. Den har också en bra terminal i sig vilket kan leda till att jag skippar emder beroende på vad jag ska göra.

Raspberry pi GPIO JS

Förbered ett operativsystem

Dokumenterar stegen till att kunna köra projektet från grunden så att det ska gå att upprepa. Tanken är att det ska finnas en terminal och att man skriver kod i en texeditor från terminalen exempelvis VIM eller emacs. Raspberry Pi enheterna är av typen 2 model B.

Vi har en bok här med lite exempel och annat för Raspberry av en C. A. Philbin.

.

Starta upp Raspberryn och skärmen

Ta ut micro-SD kortet och för in det i Raspberryn.

Koppla in skärmen, tangentbord, strömadapter. Slå till strömen. Arch linux bootar.

  • Login as the default user alarm with the password alarm.
  • The default root password is root.

Så till nästa svårighet. Hur fixar jag internet? [typ löst]

Jag har inte världens bästa lösning på det men det är att jag ansluter min mobiltelefon via usb. I en klassmiljö med kanske det blir krångligt att göra på det det viset om telefonen behöver skickas runt till alla åtta en i taget. Det finns wifi i huset så jag ansluter telefonen till det, slår på teathering via usb i androidtelefonen. I raspberryn loggar jag in som root och det markerar jag genom att ha # i början av raden medan $ är för användaren. För att komma åt internet så aktiverar jag dhcpn med:

#dhcpd

Testar att pinga någon adress som är kort och enkel att komma ihåg.

ping www.arla.se

Får jag svar så fungerar allt.

Tryck Ctrl-C (Ctrl förkortas ibland med ^ eller C) för att avbryta ping.

 

Mjukvara att installera

pacman -S npm sudo

Jag gjorde en uppdatering men det tog sådan tid tyckte jag att det inte var värt det, systemet är från en månad gammal så det ska inte vara något problem för någon annan att ordna.

  • Npm är node.JS pacage manager.
  • Sudo är super user do.
visudo

I vi hitta där du ska skriva in din användare (alarm). Det kan vara roligare att lägga till en egen användare men det beror på syftet med uppgiften, just nu vill jag komma så snabbt som möjligt till att köra GPIO med JS.

Byta tangentbordsuppsättning

Tangetbordslaout är standard engelska.

$ localectl list-keymaps | grep -i search_term
localectl set-keymap --no-convert keymap
vi /etc/vconsole.conf

ESC

:wq
KEYMAP=dvorak-sv-a1
localectl set-keymap --no-convert dvorak-sv-a1

Har ännu inte startat om men jag ändrade värdet i en konfiguration

su root
echo "KEYMAP=dvorak-sv-a1" >> /etc/vconsole.conf
^D

Nu kan jag börja lägga in saker för att jobba med det här.

Expandera disken till att använda hela utrymmet

by tomahhunt » Wed Jun 27, 2012 9:31 am

Actually you can resize the disk while active in arch linux.

As root:

fdisk /dev/mmcblk0

Delete the second partition /dev/mmcblk0p2
d
2

Create a new primary partition and use default sizes prompted. This will then create a partiton that fills the disk
n
p
2
enter
enter

Save and exit fdisk:
w


Now reboot. Once rebooted: 
resize2fs /dev/mmcblk0p2

Your main / partition should be the full size of the disk now.

Fantastiskt nu har disken 13 GB ledigt.

Skapa raspberrian sdkort till raspberrysarna.

https://www.raspberrypi.org/downloads/raspbian/

Från windows laddade jag ner zipen och skrev in det till disken med den rekommenderade mjukvaran.

https://sourceforge.net/projects/usbwriter/

Testade också rufus som skulle vara snabbare. Men då såg jag inte ens post med minneskortet i raspberryn så det fungerar inte med det.

Verkar som att det är något med hur den gör saker mot skärmen. Ser post och att den loggar in men sedan så försvinner allt. Så det är något med hur displayen handskas med när det väl kommer igång.

Iden är att köra något av det ifrån blogginlägget nedan.

http://www.robert-drummond.com/2013/06/06/raspberry-pi-gpio-inputoutput-in-javascript/

https://npmjs.org/package/pi-gpio

https://npmjs.org/package/rpi-gpio

https://npmjs.org/package/Onoff

Fixa utvecklingsverktyg i systemet sudo fix mot GPIO

pacman -S base-devel

Do the following on your raspberry pi

git clone git://github.com/quick2wire/quick2wire-gpio-admin.git
cd quick2wire-gpio-admin
make
sudo make install
sudo usermod -a -G gpio alarm

After this, you will need to logout and log back in.

Fler node uppgifter

https://www.npmjs.com/package/wiring-pi

http://thejackalofjavascript.com/raspberry-pi-node-js-led-emit-morse-code/

För att leta mer mjukvara.

#!/usr/bin/env bash

# packer dependencies
sudo pacman -S git fakeroot jshon expac base-devel

pushd
cd /tmp
mkdir packer
cd packer
wget https://aur.archlinux.org/packages/pa/packer/PKGBUILD
makepkg
sudo pacman -U $(ls | grep packer-)
popd
rm -rf /tmp/packer

En bloggserie om gpio och node i 6 delar

http://thejackalofjavascript.com/series/rpi/

https://learn.adafruit.com/node-embedded-development/events

En med fs
https://www.sitepoint.com/getting-started-with-the-raspberry-pi-gpio-pins-in-node-js/

Installera X (lxde)

pacman -Syu
pacman -S xf86-video-fbdev lxde xorg-xinit dbus

Also I think you can edit .xinitrc in your home directory

vi .xinitrc

The command you should put in your .xinitrc to start LXDE is:

exec startlxde

Then startx should start it (just tested that)

Saker som inte har fungerat men kanske fungerar för dig

Det finns ett tredje alternativ för det här steget (precis som om det skulle behövas fler). Jag tar upp det för att det kan vara att något går fel med det tidigare programmen vilket orsakar att skärmen blankar ut.

Raspberrian fungerar tyvärr inte med våra skärmar

Till att börja med behövs ett operativsystem på Raspberrysarna. Jag testade igenom alla de som fanns, dvs 8 stycken. En hade ett fungerande os som bootade in i terminal och promtade login. Det fanns ett till som bootade något grafiskt men det slocknade av och till. Körde terminaloset i alla raspberrys och alla postade utom en av dem. Orginalplanen var uppenbart att köra raspberrian för att alla guider som refererar till raspberry troligtvis underförstått menar att man har det systemet inlaggt. Tyvärr så är det något fel med hur skärmen hanteras i det operativsystemet som inte är kompis med någon av de skärmarna vi har. Det blir någon typ av överladding och så slutar det att fungera. Jag trodde att det var en skärm. Jag har testat med massa saker. Byta mellan skärmar, ändra i /boot/config och skärminställningar men problem kvarstår.

Useradd är lite känsligt så se till att -a är med (betyder append) om man inte använder det så kommer användaren att bara ha den gruppen som usermod satte.