HLS-C系1.13のtelnetアップデーターを作る

再度初期化された。

$ arp -a
(snip)
? (192.168.2.1) at ac:de:48:XX:XX:XX on bridge0 ifscope permanent [bridge]
? (192.168.2.136) at 34:76:c5:XX:XX:XX on bridge0 ifscope [bridge]
? (192.168.2.255) at ff:ff:ff:ff:ff:ff on bridge0 ifscope [bridge]

$ telnet 192.168.2.136
Trying 192.168.2.136...
telnet: connect to address 192.168.2.136: Connection refused
telnet: Unable to connect to remote host

当然、前に作った穴もふさがっている。
自前アップデーターで再度穴をあける。
1.13に上がっているので、前にやったアップデータをまた作る。
http://d.hatena.ne.jp/kinneko/20161024/p1


最新アップデーターをダウンロード。
http://www.iodata.jp/lib/product/h/5443.htm

$ ls -lh hlsc_f113.zip
-rw-r--r--@ 1 kinneko  staff    52M  7  4 13:09 hlsc_f113.zip

累積アップデーターなのでデカいわ。
こういうアップデート方式やめなはれ。

$ unzip hlsc_f113.zip
Archive:  hlsc_f113.zip
   creating: hlsc_f113/
  inflating: hlsc_f113/README.TXT
 extracting: hlsc_f113/update_HLS-C_1.13.tgz
$ mv hlsc_f113/update_HLS-C_1.13.tgz ./
$ rm hlsc_f113.zip
$ rm -rf hlsc_f113
$ tar zxvfp update_HLS-C_1.13.tgz
x ./
x ./landisk-update.sh
x ./for_HLS-C_series
x ./update-files.tar.gz
x ./setting-files.tar.gz
x ./rmlist
x ./flash_hlsc.env
x ./flash_hlsc.uboot


判定用のバージョン情報はここ。

$ cat for_HLS-C_series
1.13
$ echo "1.1301" > for_HLS-C_series
$ cat for_HLS-C_series
1.1301

アップデートの実行スクリプトはこれ。

$ vi landisk-update.sh


ubootのアップデートの後あたりに差し込み。

cat <> /etc/init.d/rc.local
/usr/local/sbin/telnetd -l /bin/sh
EDF

固める。

$ tar zcvfp ../update_telnet_11301.tgz ./*
a ./flash_hlsc.env
a ./flash_hlsc.uboot
a ./for_HLS-C_series
a ./landisk-update.sh
a ./rmlist
a ./setting-files.tar.gz
a ./update-files.tar.gz
a ./update_HLS-C_1.13.tgz


ブラウザで管理UIからファームウエアとして流し込み。

本体が再起動します。
アップデート完了まで時間がかかりますので、
しばらく時間を置いてから再度ログオン画面からアクセスをお願いします。
HLS-C 1.1301へ更新を行います。

問題なく通った模様。
LEDが点滅をはじめてから、結構時間がかかる。


点滅がやんだので、接続してみる。

$ telnet 192.168.2.136
Trying 192.168.2.136...
Connected to 192.168.2.136.
Escape character is '^]'.

Debian GNU/Linux 4.0
sh-3.1#

無事成功。

Raspiが起動時に自動的にパーティションを拡大するのを潰す

昔は、raspi-configとかで明示的にパーティション拡張をしてやる必要があった。
最近は、おせっかいなことに、起動時に自動的にパーティション拡張してしまう。
複製のためにイメージを小さく保っておきたい場合は、とてもめんどくさいことになる。
デフラグして、ファイルシステムを縮めて、パーティションを縮める。
この間に数値の一貫性がないので、ブロックサイズなどを考慮した変換が必要になる。


めんどくさいのでダウンロードしたRASPBIAN JESSIE LITEイメージを起動する前に潰しておく。
が、簡単だけどめんどくさい。
2箇所潰さないといけない。

準備

RASPBIAN JESSIE LITEをMacからSDに焼く。
約1.2GBある。

$ ls -lah /Users/kinneko/Downloads/Raspi3/2017-04-10-raspbian-jessie-lite.img
-rw-r--r--  1 kinneko  staff   1.2G  4 10 10:58 /Users/kinneko/Downloads/Raspi3/2017-04-10-raspbian-jessie-lite.img
$ diskutil umountdisk /dev/disk3
Unmount of all volumes on disk3 was successful
$ sudo dd if=2017-04-10-raspbian-jessie-lite.img of=/dev/rdisk3 bs=100m
12+1 records in
12+1 records out
1297862656 bytes transferred in 95.709816 secs (13560392 bytes/sec)

ブートローダーでinitが妙な指定になっているのを殺す

こちらは簡単に対応できる。
VFATになっている/bootにあるcmdline.txtの内容を書き換える。
WindowsからでもMacからでも簡単。

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=84fa8189-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet init=/usr/lib/raspi-config/init_resize.sh

のうちの、

init=/usr/lib/raspi-config/init_resize.sh

という部分だけを削除する。
書いていなければ、initは/sbin/initが自動選択される。
その実体は、systemdへのシンボリックリンクなので普通に起動する。


作業が終わったら取り出す。

$ diskutil eject /dev/disk3
Disk /dev/disk3 ejected

起動中に勝手にリサイズするのを防ぐ

もう1つあって、起動中に以下が動く。

/etc/init.d/resizefs_once

その実体を呼んでいるのはこいつ。

/etc/rc3.d/S01resizefs_once

これをext4のセカンドパーティションから削除しておく必要がある。
WindowsMacから作業するのは困難だ。
別に起動用SDを用意したRaspiにUSBでマウントしてから作業するのがよさげ。

pi@raspberrypi:~ $ sudo mount /dev/sda2 /mnt/
pi@raspberrypi:~ $ ls -l /mnt/etc/init.d/resize2fs_once
-rwxr-xr-x 1 root root 560 Apr 10 09:27 /mnt/etc/init.d/resize2fs_once
pi@raspberrypi:~ $ sudo mv /mnt/etc/init.d/resize2fs_once /mnt/etc/init.d/_resize2fs_once

呼び出し元は削除してシステム終了しておく。

pi@raspberrypi:~ $ sudo ls -l /mnt/etc/rc3.d/S01resize2fs_once
lrwxrwxrwx 1 root root 24 Apr 10 09:27 /mnt/etc/rc3.d/S01resize2fs_once -> ../init.d/resize2fs_once
pi@raspberrypi:~ $ sudo rm /mnt/etc/rc3.d/S01resize2fs_once
pi@raspberrypi:~ $ sudo shutdown -h now

確認

あ、sshをオンにしとくの忘れた...
Macに再接続。

$ mkdir /Volumes/boot/ssh

再度起動確認。

pi@raspberrypi:~ $ sudo fdisk -l /dev/mmcblk0

Disk /dev/mmcblk0: 7.4 GiB, 7932477440 bytes, 15493120 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x84fa8189

Device         Boot Start     End Sectors  Size Id Type
/dev/mmcblk0p1       8192   92159   83968   41M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      92160 2534887 2442728  1.2G 83 Linux

自動で拡張されていないのが確認できた。

Raspi3にボタンを付けたときのチャタリング防止

Raspi1では遅くて置きなかったシェルスクリプトでのボタン検知のチャタリング
Raspi3ではとても激しくて、ちょっと押すと10-16くらい返ってくる。
Raspi1でもちゃんと書いとけって話だけどね。
Pythonでちゃんと書いている人も多い中、シェルスクリプトで実装しているので書くのめんどくさいんですよ。
んで、簡単にこんな方法でやってしまいました。ごめんなさい。
良い子は真似しないでね。

$ cat button.sh
#!/bin/bash
gpio -g mode 27 in
gpio -g mode 27 up
while :; do
  button_status=`gpio -g read 27`
  if [ $button_status -eq 0 ]; then
    echo 'button on'
    sleep 0.3
    echo
  fi
done

ボタン検知したら、0.3秒寝かせるのがポイント。
一行で実装できた!
できるだけ早く連打すると、たまに検知できないことあるけど、普通は連打しても大丈夫。
後のechoだけの行はチャタリング検知用なのでなくていいです。


ほんとに、良い子は真似してはいけないですよ。

Raspi3で内蔵USB Audioを無効にしてみたが...

とても遠回りな話になるので、結果だけ知りたい人は一番最後をどうぞ。


Raspi3のイヤホンジャックでもノイズは乗るので、内蔵USB-AudioをRaspi1と同じように止める。

pi@raspberrypi:~ $ cat /etc/modprobe.d/blacklist-snd_bcm2835.conf
blacklist snd_bcm2835
pi@raspberrypi:~ $ sudo reboot

後刺ししたUSB Audioだけを認識するようになったのだけど...

pi@raspberrypi:~ $ cat /proc/asound/cards
 1 [Xmod           ]: USB-Audio - Creative Xmod
                      Creative Technology Ltd Creative Xmod at usb-3f980000.usb-1.4, full speed

alsaがダメっぽい。

pi@raspberrypi:~ $ ./aquestalkpi/AquesTalkPi -v f2 主に音声合成について思ったこ とを書いてみようと思います。 | aplay
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM default
aplay: main:722: audio open error: No such file or directory

Card0を見に行ったけどないという言い分。
なるほどUSB AudioはCard1になっている。

pi@raspberrypi:~ $ cat /proc/asound/modules
 1 snd_usb_audio

Card 0は予約になっているのかな?
設定を変更しようにも起動しない。

pi@raspberrypi:~ $ sudo amixer controls
amixer: Control default open error: No such file or directory


これはできる。

pi@raspberrypi:~ $ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=Xmod
    Creative Xmod, USB Audio
    Default Audio Device
sysdefault:CARD=Xmod
    Creative Xmod, USB Audio
    Default Audio Device
front:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    Front speakers
surround21:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    Direct sample mixing device
dsnoop:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    Direct sample snooping device
hw:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    Direct hardware device without any conversions
plughw:CARD=Xmod,DEV=0
    Creative Xmod, USB Audio
    Hardware device with all software conversions

優先度設定だけか。


ここじゃなさそう。

pi@raspberrypi:~ $ cat /lib/modprobe.d/aliases.conf
# These are the standard aliases and dependencies.
# This file does not need to be modified.

# prevent unusual drivers from appearing as the first sound device ###########
options snd-pcsp index=-2
options snd-usb-audio index=-2
options cx88_alsa index=-2
options snd-atiixp-modem index=-2
options snd-intel8x0m index=-2
options snd-via82xx-modem index=-2

# work around other kernel issues ############################################
# The EHCI driver should be loaded before the ones for low speed controllers
# or some devices may be confused when they are disconnected and reconnected.
softdep uhci-hcd pre: ehci-hcd
softdep ohci-hcd pre: ehci-hcd

書き換えてみる。

pi@raspberrypi:~ $ sudo vi /lib/modprobe.d/aliases.conf
#options snd-usb-audio index=-2
options snd-usb-audio index=1
pi@raspberrypi:~ $ sudo reboot

pi@raspberrypi:~ $ cat /proc/asound/modules
 1 snd_usb_audio
pi@raspberrypi:~ $ cat /proc/asound/cards
 1 [Xmod           ]: USB-Audio - Creative Xmod
                      Creative Technology Ltd Creative Xmod at usb-3f980000.usb-1.4, full speed

番号は1のまま。


追っかけたい病になりかかるが、こんなとこで時間使ってもしょうがないので、内蔵ドライバ有効にして設定したら何か吐かれるんじゃないかと再起動。

pi@raspberrypi:~ $ sudo vi /etc/modprobe.d/blacklist-snd_bcm2835.conf
pi@raspberrypi:~ $ sudo reboot
pi@raspberrypi:~ $ cat /proc/asound/modules
 0 snd_bcm2835
 1 snd_usb_audio
pi@raspberrypi:~ $ amixer controls
numid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=5,iface=PCM,name='IEC958 Playback Con Mask'
numid=4,iface=PCM,name='IEC958 Playback Default'
pi@raspberrypi:~ $ amixer cget numid=3
numid=3,iface=MIXER,name='PCM Playback Route'
  ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
  : values=1

アナログ固定になっている。
自動にしたらいいのかな?

pi@raspberrypi:~ $ amixer cset numid=3 0
numid=3,iface=MIXER,name='PCM Playback Route'
  ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
  : values=0

pi@raspberrypi:~ $ sudo vi /etc/modprobe.d/blacklist-snd_bcm2835.conf
pi@raspberrypi:~ $ sudo reboot

だめ。

ブート時に無効にする。

pi@raspberrypi:~ $ sudo vi /boot/config.txt
# Enable audio (loads snd_bcm2835)
dtparam=audio=on

にはなっている。
コメントアウトして再起動。

pi@raspberrypi:~ $ cat /proc/asound/modules
 1 snd_usb_audio
pi@raspberrypi:~ $ amixer controls
amixer: Control default open error: No such file or directory

変わらず。


アプローチを変える。Card1はどうなっているのか。

pi@raspberrypi:~ $ ls -l /proc/asound/card0
ls: cannot access /proc/asound/card0: No such file or directory
pi@raspberrypi:~ $ ls -l /proc/asound/card1
total 0
-r--r--r-- 1 root root 0 Jun 27 04:05 id
dr-xr-xr-x 3 root root 0 Jun 27 04:05 pcm0c
dr-xr-xr-x 3 root root 0 Jun 27 04:05 pcm0p
-r--r--r-- 1 root root 0 Jun 27 04:05 stream0
-r--r--r-- 1 root root 0 Jun 27 04:05 usbbus
-r--r--r-- 1 root root 0 Jun 27 04:05 usbid
-r--r--r-- 1 root root 0 Jun 27 04:05 usbmixer

pi@raspberrypi:~ $ amixer -c 1 controls
numid=4,iface=MIXER,name='PCM Playback Switch'
numid=5,iface=MIXER,name='PCM Playback Volume'
numid=9,iface=MIXER,name='PCM Capture Source'
numid=6,iface=MIXER,name='Line Capture Volume'
numid=7,iface=MIXER,name='Mic Capture Volume'
numid=8,iface=MIXER,name='Auto Gain Control'
numid=3,iface=MIXER,name='Up Down Switch'
numid=2,iface=PCM,name='Capture Channel Map'
numid=1,iface=PCM,name='Playback Channel Map'

Playback Routeがないな?そんなもの?

pi@raspberrypi:~ $ cat /proc/asound/devices
 32: [ 1]   : control
 33:        : timer
 48: [ 1- 0]: digital audio playback
 56: [ 1- 0]: digital audio capture

pi@raspberrypi:~ $ cat /proc/asound/modules
 1 snd_usb_audio
pi@raspberrypi:~ $ cat /proc/asound/cards
 1 [Xmod           ]: USB-Audio - Creative Xmod
                      Creative Technology Ltd Creative Xmod at usb-3f980000.usb-1.4, full speed
pi@raspberrypi:~ $ cat /proc/asound/pcm
01-00: USB Audio : USB Audio : playback 1 : capture 1

普通に見える。
設定はできる?

pi@raspberrypi:~ $ amixer -c 1 cset numid=3
numid=3,iface=MIXER,name='Up Down Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=off
pi@raspberrypi:~ $ amixer -c 1 cset numid=3 1
numid=3,iface=MIXER,name='Up Down Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
pi@raspberrypi:~ $ amixer -c 1 cset numid=1
amixer: Control hw:1 element write error: Operation not permitted

こっち方面からじゃないか。


asound.confを作るしかない?

pcm.!default {
type hw
card 1
}

ctl.!default {
type hw
card 1
}

なんかイヤだな。


ソースのデフォルト0を書き換えてビルドした人の例。
https://www.crifan.com/resolved_amixer_control_default_open_error_no_such_file_or_directory/
さすがにこれはないか。


お作法的に問題ないalsaのデフォルトを変更する設定ファイルを探す。

pi@raspberrypi:~ $ grep "defaults.pcm.card " -R /usr/share/alsa/alsa.conf
defaults.pcm.card 0
pi@raspberrypi:~ $ grep "defaults.pcm.device " -R /usr/share/alsa/alsa.conf
defaults.pcm.device 0
pi@raspberrypi:~ $ grep cards.pcm.default /usr/share/alsa/alsa.conf
pcm.default cards.pcm.default
pcm.sysdefault cards.pcm.default

これを1にしてしまうか、それともUSB Audioロードの番号を1にするか。
USB-Audioのほうには、それっぽいのはなさそう。

pi@raspberrypi:~ $ grep pcm.default -R /usr/share/alsa/cards/USB-Audio.conf
USB-Audio."AudioPhile".pcm.default "cards.USB-Audio.Audiophile USB (tm).pcm.default"
USB-Audio."Audiophile USB (tm)".pcm.default {
USB-Audio.pcm.default {
					"cards.USB-Audio.pcm.default_playback_dmix_"
USB-Audio.pcm.default_playback_dmix_yes {
USB-Audio.pcm.default_playback_dmix_no {

書き換える。

pi@raspberrypi:~ $ sudo vi /usr/share/alsa/alsa.conf
defaults.ctl.card 1
defaults.pcm.card 1
defaults.pcm.device 1
pi@raspi09:~ $ sudo reboot

来た!

pi@raspberrypi:~ $ amixer controls
numid=4,iface=MIXER,name='PCM Playback Switch'
numid=5,iface=MIXER,name='PCM Playback Volume'
numid=9,iface=MIXER,name='PCM Capture Source'
numid=6,iface=MIXER,name='Line Capture Volume'
numid=7,iface=MIXER,name='Mic Capture Volume'
numid=8,iface=MIXER,name='Auto Gain Control'
numid=3,iface=MIXER,name='Up Down Switch'
numid=2,iface=PCM,name='Capture Channel Map'
numid=1,iface=PCM,name='Playback Channel Map'
pi@raspi09:~ $ amixer cset numid=3
numid=3,iface=MIXER,name='Up Down Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on

再生してみる。

pi@raspberrypi:~ $ ./aquestalkpi/AquesTalkPi -v f2 主に音声合成について思ったこ とを書いてみようと思います。 | aplay
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave
aplay: main:722: audio open error: No such file or directory

ダメ。
dmixの設定を変えてないかな?

pi@raspberrypi:~ $ cat /usr/share/alsa/alsa.conf | grep dmix
defaults.pcm.dmix.max_periods 0
defaults.pcm.dmix.rate 48000
defaults.pcm.dmix.format "unchanged"
defaults.pcm.dmix.card defaults.pcm.card
defaults.pcm.dmix.device defaults.pcm.device
pcm.dmix cards.pcm.dmix
pi@raspberrypi:~ $ cat /usr/share/alsa/alsa.conf | grep cards.pcm.dmix
pcm.dmix cards.pcm.dmix

関係ない感じ。


再度方針転換。
オーディオデバイスのストリームを直接指定してみる。

pi@raspberrypi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: Xmod [Creative Xmod], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
pi@raspberrypi:~ $ ./aquestalkpi/AquesTalkPi -v f2 主に音声合成について思ったこ とを書いてみようと思います。 | aplay -Dhw:1,0
Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono
aplay: set_params:1239: Channels count non available

ダメだな。

pi@raspberrypi:~ $ ./aquestalkpi/AquesTalkPi -v f2 主に音声合成について思ったこ とを書いてみようと思います。 | aplay -D plughw:1,0
Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono

出た!


最初から、-D plughw:1,1とかにしておけばよかったってことか...
/boot/config.txtとalsa.conf戻してrebootする。
再生。

pi@raspi09:~ $ ./aquestalkpi/AquesTalkPi -v f2 主に音声合成について思ったこを書 いてみようと思います。 | aplay -D plughw:1,0
Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 8000 Hz, Mono

できんじゃん... orz

nodeでループ時間を自己書き換えするテンプレ

メモ。

var counter = 1000; //1sec
var myFunction = function(){
  clearInterval(interval);
  counter *= 2;
  if (counter > 10000 ) {
    counter = 1000;
  }
  console.log(counter);
  interval = setInterval(myFunction, counter);
}
var interval = setInterval(myFunction, counter);

Raspi1でUSB Audioがかぶるので内蔵を無効にしてみた

調べるといろんなやり方があるのだけど、RASPBIAN JESSIE LITEでは、なんかどれも古かったりする。
おそらく、今の真っ当な方法はこんな感じ。


モジュールロード時にブラックリスト指定をしてロードを止める。
ブラックリストは個別にファイルを作るのが普通。

pi@raspberrypi:~ $ sudo vi /etc/modprobe.d/blacklist-snd-bcm2835.conf
blacklist snd-bcm2835

再起動。

pi@raspberrypi:~ $ sudo reboot

USBに刺したUSB Audioのほうだけ認識されているのを確認。

pi@raspberrypi:~ $ lsusb
Bus 001 Device 019: ID 041e:30d0 Creative Technology, Ltd
Bus 001 Device 018: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 017: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 016: ID 0424:9512 Standard Microsystems Corp. LAN9500 Ethernet 10/100 Adapter / SMSC9512/9514 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspberrypi:~ $ cat /proc/asound/cards
 0 [Xmod           ]: USB-Audio - Creative Xmod
                      Creative Technology Ltd Creative Xmod at usb-20980000.usb-1.3, full speed
 1 [U0x46d0x825    ]: USB-Audio - USB Device 0x46d:0x825
                      USB Device 0x46d:0x825 at usb-20980000.usb-1.2, high speed

ゴムライク素材での3Dプリンタ出力テスト

JAGOVISORのスマホストッパー部分は、スチールの骨の入ったゴムを使っている。
ゴムなので劣化するのと、色移りするのと、切断しにくく切断加工してくれないのと、黒しかないのと、単価が高いのがネック。
しかし、入手可能な20種類くらいのエッジモール材を取り寄せて、唯一使えたのがこれ。
7.5mmΦのRにフィットする素材は他にはみつからなかった。


コストダウンと加工の手間を省くため、シリコンでオリジナルを製造できないかというのは前から検討していた。最近は、精度は犠牲になり数は取れないものの簡易金型を使って安価にやるところも出てきている。
そこで、2年くらい前からあたりをつけていた不二ゴムさんに相談してみた。結局、金型があったり、取り数があったりするので、単価はあまり下がらないということがわかったのだけど、フィットする構造と手軽さがあって諦めきれない。


コストが高いこともあって、ぶっつけ本番も怖いので、どんな仕上がりになるのか3Dプリンタでの試作をしてみることにした。


設計はやってほしいということだったので、Rhinocerosでさくさく作る。ゴム系は本番含めて、縮みやヒケはほとんど考慮する必要がないというのも扱い安い。
なので、サイズは実寸ジャストで仕上げる。


ゴムライクは、3Dプリントの出力サービスでも、あんまり扱っているところがない。機材が高価だし、お客もそれほど付かないからかな。


今回、出力に使った機材は "stratasys Objet260 Connex3"。CAD環境とか含めて三千万だって。家が立つわぁ。二種類の素材の同時出力が可能なタイプ。

https://lh3.googleusercontent.com/KyiGt-DQ2DjzWhwu8iXBENnjkNu67foVTPtDRrMw15CidZ94iWJF7EKHMZXdJZ8dlwVEd0hoJ9lLCoenvJFaG2r0r-tnnwSFlg=w640-h400-no?.jpeg

伺った時には、もう出力は終わってしまっていた。
見学できるかも!と思ってメール送った時には、すでに梱包中。残念。
こんな風に出力されるらしい。

https://lh3.googleusercontent.com/pRijxDgJSf9-XjVWnyIKd30gMdHX-o-mQy6FBiiMW-fHoIfa4rY6AKHnma1Ua2NMFxCCkhUK5-qZfX8QdvtVKORW7BI8W63KoQ=w640-h400-no?.jpeg

https://lh3.googleusercontent.com/Og-UC7ajfYBPHGYCYM2NX45M9XX7hBhSVkNZmxbUHemyn6ttXOGmbbYdQd1E9HC1FLCIsiEqUrcGjRzDFn_YF_gtcROmnoRQ9g=w640-h400-no?.jpeg

サポート材は、プラ系のと違って、ほろほろ崩れる感じの素材。
グミを轢き潰したような手触り。臭いはほとんどない。
プラ系と違って溶剤で溶かすようなことはせず、手で取り除いてウォータージェットでクリーニングするそう。
扱いが楽でうらやましい。サポート出力するような高級なプラ機は、サポート剤を溶かす溶剤の管理やら、廃液の処理やらたいへんなので。

https://lh3.googleusercontent.com/mfzbQ9oIGjuD5da-KEeu1PzWSUbNQL67HSWgeIc1JPQp_Sgf3cbhtKB_Fctq0p7HoSCzHGXOblKzYhYnzEsDjdLVfX-3hkVTjw=w640-h400-no?.jpeg


出力したのは、こんな感じ。

https://lh3.googleusercontent.com/x4aCKbZLK7jCgaR_hCQp6IAl7ALzb_C4q_E6BlLoVyWxrgCfDK34VoxGn_TtD0uo03BJQbWC1Ix6xpGgs7z7YPY0eGNhnhv3hg=w640-h400-no?.jpeg

https://lh3.googleusercontent.com/neyXbxTwo2rQwvgg1OkAKb3RW7As7oY2wFcyODIVQPR19o1GVnW2rLy0Sl7oZ7dh-Ce6sexTzRI4AJ1GizaDttNcGGX5cnoypQ=w640-h400-no?.jpeg

https://lh3.googleusercontent.com/vPK3y0QOg29-Rhl9l0_qMHXnLPoET9jIF_GyGqkcx2XHQBLOTKpi9yeagPublx70WFOmks1QfZFSOsTKtGyowTva86Bdm1LTvw=w640-h400-no?.jpeg

付けてみる。

https://lh3.googleusercontent.com/VuWYC2QKwh2tbYwXNV-97jw2J_VjZAcAyNH0qIoSavkONLINMxXJQpxV8VONrZKe_dkOmLZRNMe5Rcwd2AGe41VuqerWAZDT1Q=w640-h400-no?.jpeg

ちょっと取り付けが難しい。

https://lh3.googleusercontent.com/Kjg2v64ogx3kSKPfyLjdqekP7CGHsq7pjJjNq0oW1YKEfTL1N8YptY6NTEExnyHRGUzmS6NFCOikxvMX6_duvwiV1C_6t31o1w=w640-h400-no?.jpeg

隙間の1.5mmも忠実に出ている。

https://lh3.googleusercontent.com/cz-jRBRIOXfCUjnRke91XDC8sM3Kif5rqBSvUNGz4Tss9Wo5XyUukxjaTLe5puDum1LExW75HMQyXXinYQQUMn3qM0HHsf_KSg=w640-h400-no?.jpeg

スマホを入れても、しっかり固定されている。
グリップは前ほどじゃないけど、必要十分。シリコンになったら、もうちょっと出るかな。

https://lh3.googleusercontent.com/CvHFces1ueJaAf4cL5WP_pRz4SwbGFeSb-YkZfs_uj231Vb0NzwuSRyCXkrV-h3qEpSFRuW7NjcTW1RGD-quGozMb8ag8m_NjA=w640-h400-no?.jpeg

あとは、金型か。クラウドファンディングでもするかな...