読者です 読者をやめる 読者になる 読者になる

WELCOME TO EASTWORLD

Eastworld でドロイド遊び Rapiro が主人公 ラズパイが好物

Rapiro 舞台に舞う?の巻

Rapiro 君がステージ上がることになりました。

歌?ダンス?演目は成り行きに任せて、とりあえず私が振付師ということで、

 

エッヘン <(`^´)>

 

昨夜、蹴鞠に熱中し過ぎて体が火照った私、夜中に目が覚めてしまい、勢いでRapiro 君を叩き起こしちゃいました!

朝までラブラブ。二人っきりでお稽古!

 

お稽古の内容はと言うと・・・

 

これ:

import serial

ser = serial.Serial('/dev/ttyS0', 57600, timeout = 10)

import pygame

pygame.init()
pygame.joystick.init()
joystick = pygame.joystick.Joystick(0)
joystick.init()
buttons = joystick.get_numbuttons()

done = False

while done==False:
 for event in pygame.event.get():
  if event.type == pygame.QUIT:
   done=True

  if event.type == pygame.JOYBUTTONDOWN:
   print("Joystick button pressed.")

   for i in range( buttons ):
    button = joystick.get_button( i )
    if button == 1:
     if i == 0:
      ser.write("#M8")
     elif i == 1:
      ser.write("#M0")
     elif i == 2:
      ser.write("#M6")
     elif i == 3:
      ser.write("#M5")

  if event.type == pygame.JOYBUTTONUP:
   print("Joystick button released.")

pygame.quit ()

#ser.write("#M0")

 

時間がなかったので、とりあえず上半身の振付に着目し、チャチャっと脚本を書いてみました。とりあえずやってみよう!ということで。適当にアドリブかましました。

joystick.py からアイデアを拝借して、胡椒少々散りばめる、ってだけです。

 

ところが、いざ踊ってみると、何だかぎこちない。

どうやらRapiro 君、流行りのコンソール病にかかっていたみたい。そこで、エイッとラブポーションを振りかけてみました:

 

Disabling the Console

If you are using the serial port for anything other than the console you need to disable it. This will be slightly different depending on whether you are running a Raspberry Pi 3 or not.

For non Raspberry Pi 3 machines, remember it’s /dev/ttyAMA0 that is linked to the getty (console) service. So you need to perform this command from a terminal window:

$ sudo systemctl stop serial-getty@ttyAMA0.service
$ sudo systemctl disable serial-getty@ttyAMA0.service

The “disable” will stop it loading in the future.

For Raspberry Pi 3’s the command is similar but referencing /dev/ttyS0:

$ sudo systemctl stop serial-getty@ttyS0.service
$ sudo systemctl disable serial-getty@ttyS0.service

You also need to remove the console from the cmdline.txt. If you edit this with:

$ sudo nano /boot/cmdline.txt

you will see something like:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes root wait

remove the line: console=serial0,115200 and save and reboot for changes to take effect.

 

例のサイトで、宝探しならぬ薬探しをさせて頂きました。

即効でした!

 

あ、お仕事に行かなくちゃ。