OSC2019 Tokyo/Springにて発表
Eject 2018Eject ( id:Akkiesoft )2019/02/23 OSC2019 Spring
View Slide
() ()20182019
Eject 2019Eject ( id:Akkiesoft )2019/02/23 OSC2019 Spring
• (@[email protected])• Eject$("&) )– eject.kokuda.org !• Raspberry Pi &) )– raspi.jp #' • %)
%!• Eject#%"$&&• Eject10 • • Eject2019• Eject
EJECT
Eject")0&,1#1• CD-ROM&. '%/ • PCRaspberry PiLinux• (1*!1%+1$-0 • IoT,1#1• Eject")0&
Eject#.1+• Eject&-*!"*0 *0 • ,'$/% )(
Eject+28/• https://linuxjm.osdn.jp/html/eject/man1/eject.1.html• – -0.()& ',)*."– CD-ROM/5'1.7'$"– 2(8.#!&82(8."• USB346• umount%
,3('&• CD-ROM-2(."Eject)14-'&,3(!'&&– Eject&6,3(' 5• $' – Load&6,3(#!'• 5(4+0(*(/!-2(.!!' %&&12
6581%/+48Eject'• SSH&6581– 08/.7/8"-83! )('& $('• Eject,472 "PHP%Python%Ruby!*Web&Eject• cron%atd* # Eject,472*• Twitter%SlackSNS
;>2>"• – OSC4.9=/– #<38.;>2> MakerFaire '• Web1.6#2(+• ML…,"')&!…• (%,)*("$)09:75-
EJECT 10
&10'7…• &%+.#80(!",&1/8/Eject%*"%• )$ )&– :<46>&*-– 103=– 4;>93=5=9– 2>8=– &*-– CDTea• 4"&
%' $Eject(2009)• OSC# #*36019$ ,"• )+!#*($, )CD-ROM27-5"IDE-USB.958! • /949#! &
200902•
(/ "6(2009)• – ML110/115CD-ROM'2+– IDE→USB6+3(6))• – 163&$,*0– #5-63– !4(5%6,•eject.5'
1. ). +eject$-0)(/ "1,02. (/ #',()!% 3. !%2*&3!%
• *04!(60.7) #&%• 19( /,5#)-%• 1=CD-ROM28(3)-"%– 28(3$+:2;<'
(2013)• !&$'%"'# ()
(2016)• Eject •
(2017)• 2 • Raspberry Pi
") (2010)• ($)• ($) *!*'#&%
!-,*.%(2013)• Raspberry PiCD-ROM&+(..&"$#'%)+.• ,*!- • Raspberry Pi"Eject"
• Eject• 1231Youtube• Mastodon/Twitter! Eject !•
'28,%7(7,(2011)• 183(7)8)7/58'"+*!)+0!• Eject%27--t( )/-T(,$6)! #7#.!• )+0100&4+0
'3*2&3/-3• '3*2$&3/2"– $'3*2()– !– !$,0%.• #1()+
• $.2(#1%1(+'(,(0&/2)!• -1*,(0" " • 1!•
Eject)04,CDTea• ,1'.&%$• (2*-3!,1'. & &/+3" #$eject)04, • !
• Eject$)4• %4&"' EJECTO 2012-2017)*800+• COMIC ZIN, "($#! !– ZIN '
• Raspberry Pi [] (2013)• (2015)• Software Design– 2017/1 Eject– 2017/9 Eject! – 2018/3 CD-ROMRPi– 2019/1 Eject
Software Design • 12!Eject2/(• Eject-451.30+,*6!• $#'&%"' 2/()"
OSC2019 Osaka • !),$+• *(-%&-# Raspberry Pi#%*-',"• ./•
OSC • • kapper(https://twitter.com/kapper1224/status/1089041395417899013)
• PiZero W+'(– LAN– !(#USB• Python HTTP,",)$– PiCamera ),&+ – %+Eject• Web,",)",$*
PiCamera$%,/(.!• &*).%".'-• https://picamera.readthedocs.io/en/latest/recipes2.html#web-streaming• mjpeg• $ #+
GitHub• https://github.com/Akkiesoft/Eject-Command-Users-Group/tree/master/EjeStream• – http://akkiesoft.hatenablog.jp/entry/20190127/1548588834
" $+;• 46/0:"&( $+' ','*• 3128:-"!%(– )/27:59. *#
EJECT2019
/• 4;?73>6>7%,(),'• Amazon 1,900+-– 4;?749?2?/IFTTT @• Eject&…:<14=4*@– !%+#-(%'0-#*-– <581"+.1,900-*$– ,+100-
(Eject )• CD-ROM(IDE or SATA)• IDE(SATA)-USB– • Linux PC(Raspberry Pi)– USBMicroUSB
()• 100'"&!"&• #*%)!"&• 100'"&*$*– $(%• #*&
•
• "$& – # !)"$&'%(
IDE-USBRPi
Eject • Eject• $ apt update$ apt install -y eject$ eject ( )$ eject -t ( )$ eject -T ()$ eject /dev/sr0 ()
……
& • ' 8:<)ON "20.'/ ""' – =5>A%1(937A(8:<##&$)!!!• "+$ -BC• #0);A6#"+(@ω<)– *!(1004?:<#!% ",&
)#'1"• 1(+. ,1%/023Eject 4• +*ON!23Eject 4• +*23Eject 4– Eject$0$-
2009 5+55• >,* EFCDG5?:<,#H!• 8- 1%7PIC1&3@1&!5'#– – Arduino69$".,;*#(2/#0#3#– +=;?$'3&.,• .0Eject4.,;3@1&3.,– LT4*,;AB0',)=,!
CD-ROM9<5:4 • Eject7;=9+, '– IoT(!&1/+/• 4!#0!,"• !! *1,1• '),.) 2- )>→NO• CD-ROM9<5:4%&!#0!6=8=*')$3>
Eject?FID 3GHBC• >I@I( %.&1'-8 )• (4*'1' )• <9/(EIA(/$6/=0#)• Linux3%2,'($8;1#)– atd, cron, udev10 5+="79)<:%1#8!;:
Eject6=B;-9?A8:• -,>@%"3– !,13• 53• 7C• !Eject6=B;.).+#– . *.#((!)&3'*.."/2+#– 3-'*504$
Raspberry Pi(2012)• Raspberry Pi LinuxPC• – ML110/ML115%'+)+!$Eject#"& – OSC(*!$"& • Eject $!
Raspberry Pi%;/?+/;7• +>";5!6;6#ALinuxJNKN4+2C• 7C:0<(0<)/– -'A GG12C#2B8.799#A;7%ILIL-A76• Eject,<5(2;Raspberry Pi3”$D/D6”3&A*4;3&/– FEHM– 7=@
IoT395• IoT&((* • ,+.8$7692 #$$'& $''%)• Eject!) %IoT#" '"– – 76.8– /492.8082– -918
0)&+……Eject"%/#/%6.0@• 3&+ 6/0;?<>*$• (/0 8)&)"'6• #60 /,0@• "6 (/ .6-9:<=,,#6-5(7812&4!
OR
https://mornin.jp/OROR
Eject6'A ;8(• 6 869 1?)• $,6-A;3B6>B<(• !,(8@3BC*<(– ":,2AJQOTGPS8:6&MRF9.7MEN7+DEIH7+0A– =%9854• Eject6(7 54@3)2B<(– 2/6-A12A#;1(1LK98A
Eject29<6( • 7:45='1OSC+".,.*& • &Eject1! 0"(%• )' %-3=8;=5=" !)+>• $-/
#$• "20-Eject &##• %%!"IoT(• #%Eject ,+*&")!$! '*