Upgrade to Pro — share decks privately, control downloads, hide ads and more …

クックパッドマートを支えるIoT 技術

Fe72a6744f7422c341d6301df629a36f?s=47 imashin
September 11, 2019

クックパッドマートを支えるIoT 技術

クックパッドマートは、スマホアプリから生鮮食品を購入できるECサービスです。これまでにない新たな流通を一から作っています。今回は、クックパッドマートの物流の要になっているIoTプロダクトの開発についてご紹介します。

Fe72a6744f7422c341d6301df629a36f?s=128

imashin

September 11, 2019
Tweet

Transcript

  1. ΫοΫύουϚʔτΛࢧ͑Δ IoT ٕज़ Cookpad Product Kitchen #3 Sep 11, 2019

  2. whoami 2011 ژ౎େֶ޻ֶ෦ిؾిࢠ޻ֶՊ 2015 ژ౎େֶେֶӃਓؒɾ؀ڥֶݚڀՊʢ৘ใՄࢹԽʣ 2017 ΫοΫύουגࣜձࣾʢαʔόʔαΠυΤϯδχΞʣ ɹɹ2017-2018 storeTV ɹɹ2018-2019

    ΫοΫύουϚʔτ Shinsuke IMAI Twitter: @imashin_
  3. ࠓ೔ɺ͓࿩͢͠Δ͜ͱ • ΫοΫύου͕ϋʔυ΢ΣΞΛ΍͍͍ͬͯͬͯΔ࿩ • ΫοΫύουϚʔτͷ࿩ • ΫοΫύουϚʔτΛࢧ͑ΔIoTٕज़ͷ࿩

  4. ΫοΫύου͕ϋʔυ΢ΣΞΛ ΍͍͍ͬͯͬͯΔ࿩

  5. ΫοΫύου͸΢Σϒͷձࣾ • Ͱ͸ͳ͍

  6. ʮຖ೔ͷྉཧΛָ͠Έʹʯ ͢Δձࣾ

  7. ΢Σϒ͚ͩͰͳ͘ɺ෺ཧੈք΁

  8. ޻࡞؀ڥ ࣾ಺ͷ޻࡞෦԰

  9. None
  10. CM • ΫοΫύουʹ͸ϋʔυ΢ΣΞ։ൃͰ͖ΔΤϯδχΞ͕ ͘͢͝গͳ͍ • ͳΜͱΫοΫύουϚʔτʹ͸ϋʔυ΢ΣΞΤϯδχΞ ͕͍·ͤΜ • ΫοΫύουϚʔτ͸αʔϏεͷ੒௕ʹ߹Θͤͯԣஅత ʹϋʔυ΢ΣΞ։ൃͰ͖ΔਓΛ୳͍ͯ͠·͢

  11. ΫοΫύουϚʔτͷ࿩

  12. None
  13. αʔϏε֓ཁ ʮຖ೔ָ͕͠ΈʹͳΔɺ৯ࡐళʯ ඒຯ͍͠৯ࡐΛεϚϗͰ஫จ͠ ࣗ୐ۙ͘ͷళฮ΍ࢪઃͰड͚औΕΔ ੜ઱৯඼ωοτεʔύʔ

  14. None
  15. None
  16. None
  17. None
  18. ഑ૹηϯλʔΛ࣋ͨͳ͍

  19. ͳͷͰ

  20. ৽઱

  21. ͚ͩͲ

  22. ͱͯ΋೉͍͠

  23. ΫοΫύουϚʔτΛࢧ͑Δ IoTٕज़ͷ࿩

  24. ϚʔτΛࢧ͑ΔIoTσόΠε ϥϕϧϓϦϯλʔ ྫྷଂݿৣ

  25. ϚʔτΛࢧ͑ΔIoTσόΠε ϥϕϧϓϦϯλʔ ྫྷଂݿৣ

  26. ঎඼Λਖ਼֬ʹӡͿ • ൢചऀʹຖ೔঎඼ͷ४උΛͯ͠΋Β͏ • ӡൖऀʹ঎඼Λड͚औΓ৔ॴ·ͰӡΜͰ΋Β͏ • Ϣʔβʹड͚औͬͯ΋Β͏

  27. ྲྀ௨ʹ͔ܽͤͳ͍ϥϕϧ ঎඼΁ͷϥϕϦϯά ϥϕϧΛཔΓʹडऔ ϥϕϧҹ࡮

  28. ૢ࡞ෆཁͰϥϕϧ͕ൃߦ͞ΕΔγεςϜ

  29. demo

  30. ୹ظؒͰͷվળαΠΫϧ ྵ߸ػ ॳ߸ػ ೋ߸ػ ࡾ߸ػ ̍̌ϲ݄Ͱ̐౓ͷΞοϓσʔτ

  31. ೋ߸ػߏ੒ ελʔਫ਼ີ TSP700II ϥϕϧϓϦϯλʔ ϥϕϧ੾Ε΍ނোΛݕ஌͢Δηϯαʔ Huawei M2372h-607 LTE USBυϯάϧ Raspberry

    Pi 3 Model B+ ΤοδσόΠε Arch Linux ARM ϧʔλʔ / SSHαʔόʔ ωοτϫʔΫ؂ࢹ
  32. https://soracom.jp

  33. ωοτϫʔΫߏ੒ SORACOM print batch proxy gateway Canal Gate Air Shepherd

    mart server admin API API Order 6TFS Dongle Printer Raspi
  34. https://www.starmicronics.com/support/Mannualfolder/starline_cm_en.pdf

  35. https://rubygems.org/gems/star_ethernet

  36. ϓϦϯλʔίϚϯυ

  37. def set_cancel_the_double_wide_high(n1, n2) [0x1b, 0x69, n1, n2].pack('C*') end def sextuple_font_size

    set_cancel_the_double_wide_high(0x05, 0x05) end https://www.starmicronics.com/support/Mannualfolder/starline_cm_en.pdf
  38. None
  39. ࠓޙ΍͍ͬͯ͘͜ͱ େྔੜ࢈ ߋͳΔ҆ఆԽ QRίʔυͷΑΔ෺ྲྀͷ؂ࢹ ΑΓޮ཰తͳྲྀ௨ ϛεͷͳ͍഑ૹ

  40. ϚʔτΛࢧ͑ΔIoTσόΠε ϥϕϧϓϦϯλʔ ྫྷଂݿৣ

  41. ঎඼Λ҆શʹอ؅͢Δ • ಛఆͷਓ͔͠ྫྷଂݿΛ։͚ΒΕͳ͍Α͏ʹ͢Δ • ෆ҆ఆͳωοτϫʔΫԼͰ΋Քಇ͢Δ • ίϯηϯτΛൈ͔Εͯ΋ࢪৣঢ়ଶΛอͭ • ྫྷଂݿ͕ػೳ͍ͯ͠Δ͔؂ࢹ͢Δ •

    ෳ਺ͷ൶Λίϯτϩʔϧ͢Δ
  42. QRίʔυʹΑΔղৣ • ಛఆͷϢʔβͷΈɹ ྫྷଂݿΛ։͚ΒΕΔ • ΦϑϥΠϯͰ΋Քಇ Մೳ

  43. demo

  44. ղৣϑϩʔɿτʔΫϯͷൃߦ User Fridge system mart-server mart-edge Fridges JWT token QR

    Reader Signature verification working on offline status Authorized User Unauthorized user SORACOM Gate SORACOM Canal
  45. ղৣϑϩʔɿެ։伴ͷൃߦ User Fridge system mart-server mart-edge Fridges JWT token QR

    Reader Signature verification working on offline status Authorized User Unauthorized user SORACOM Gate SORACOM Canal
  46. ղৣϑϩʔɿ伴ͷݕূ User Fridge system mart-server mart-edge Fridges JWT token QR

    Reader Signature verification working on offline status Authorized User Unauthorized user SORACOM Gate SORACOM Canal
  47. ղৣϑϩʔɿΦϑϥΠϯ࣌ User Fridge system mart-server mart-edge Fridges JWT token QR

    Reader Signature verification working on offline status Authorized User Unauthorized user SORACOM Gate SORACOM Canal
  48. ߏ੒ʢࢠػʣ Թ࣪౓ܭ DHT11 D4SL-N OMRON੡ి࣓ϩοΫ 0V:LOCKED / 24V:UNLOCKED PoEରԠΠʔαέʔϒϧ ਌ػ΁઀ଓ

    Թ౓ܭɾৣ੍ޚɾঢ়ଶ؂ࢹ LEDϥϯϓ open/closeͷදࣔ
  49. ߏ੒ʢ਌ػʣ 5V/24Vిݯ AK50W-DSM-B MOSFET Raspberry Pi 3.3VͰ 24Vಈ࡞ͷιϨϊΠυΛεΠον Raspberry Pi΁ͷڅి

    LTEϞδϡʔϧ EC21-J Mini PCIe PoEରԠΠʔαέʔϒϧ ̐ͭͷࢠػ΁઀ଓ ൚༻έʔϒϧͷྲྀ༻Ͱઅ໿ QRϦʔμʔ HF500-W Honeywell Mini PCIe to USB ΤοδσόΠε Raspberry Pi 3 Model B+
  50. ࠓޙ΍͍ͬͯ͘͜ͱ ؂ࢹΧϝϥͷઃஔ ίϯςφݸผͰͷࢪৣ ྫྷଂݿͷஔ͖׵͑ ड͚औΓମݧͷ޲্ ৗԹ঎඼ͷϘοΫε ҆શੑͷ޲্

  51. ༨ஊ

  52. ωοτʹܨ͕ΔखࠒͳIoT୺຤͕ͳ͍໰୊ • Raspberry Pi => ศར ‣ ͍҆ ‣ ৘ใ͕ͨ͘͞Μ

    ‣ GPIO • Raspberry Pi => ෆศ ‣ USBपΓͷిݯڙڅ ‣ LTEϞδϡʔϧࡌͤʹ͍͘ ʗෳࡶʹͳΓ͕ͪ
  53. ྑ͍ײ͡ͷج൘Λ࡞Γ͍ͨ GPIO HDMI USB ྑ͍ײ͡ͷج൘ ྑ͍ײ͡ͷϘοΫε

  54. ·ͱΊ

  55. ΫοΫύου͸ • ΢ΣϒͷձࣾͰ͸ͳ͘ • ʮຖ೔ͷྉཧΛָ͠Έʹ͢Δʯձࣾ

  56. ϋʔυ΢ΣΞ։ൃऀ͕͍ͳ͍ • ΫοΫύουʹ͸ϋʔυ΢ΣΞ։ൃͰ͖ΔΤϯδχΞ͕ ͘͢͝গͳ͍ • ͳΜͱΫοΫύουϚʔτʹ͸ϋʔυ΢ΣΞΤϯδχΞ ͕͍·ͤΜ • ΫοΫύουϚʔτ͸αʔϏεͷ੒௕ʹ߹Θͤͯԣஅత ʹϋʔυ΢ΣΞ։ൃͰ͖ΔਓΛ୳͍ͯ͠·͢