{"id":17946,"date":"2016-02-13T17:25:05","date_gmt":"2016-02-13T08:25:05","guid":{"rendered":"http:\/\/yukisako.xsrv.jp\/entry\/2016-02-13-172505"},"modified":"2016-02-13T17:25:05","modified_gmt":"2016-02-13T08:25:05","slug":"2016-02-13-172505","status":"publish","type":"post","link":"https:\/\/skill-hacks.co.jp\/media\/2016-02-13-172505\/","title":{"rendered":"Arduino + Ruby\u3067\u30d7\u30c1IoT"},"content":{"rendered":"<p>\u672c\u65e5\u306f\u30b5\u30fc\u30af\u30eb\u306e\uff0c\u5f8c\u671f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u6d3b\u52d5\u5831\u544a\u4f1a\u3067\u3057\u305f\uff0e<br \/>\n3D\u306e\u97f3\u697d\u30b2\u30fc\u30e0\uff0cVR\uff0cmruby\u304c\u6271\u3048\u308b\u30de\u30a4\u30b3\u30f3\u306e\u958b\u767a\uff0cSECCON\u306e\u5831\u544a\u306a\u3069\u306a\u3069\u697d\u3057\u305d\u3046\u306a\u3082\u306e\u304c\u305f\u304f\u3055\u3093\uff0e<\/p>\n<p>\u3046\u3061\u306e\u73ed\u306f\uff0cArduino\u3068Ruby\u3067\u690d\u7269\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\u3092\u4f5c\u308a\u307e\u3057\u305f\uff0e<\/p>\n<p>\u5099\u5fd8\u9332\u3082\u517c\u306d\u3066\u3061\u3087\u3063\u3068\u30e1\u30e2\uff0e<\/p>\n<p><!--more--><\/p>\n<h2 id=\"i-0\">\u4f5c\u3063\u305f\u3082\u306e<\/h2>\n<p>\u690d\u7269\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0\uff0e<\/p>\n<ul>\n<li>\n<p>Web\u30da\u30fc\u30b8\u304b\u3089\uff0c\u690d\u7269\u306b\u3042\u305f\u3063\u3066\u3044\u308b\u5149\u306e\u91cf\uff0c\u690d\u7269\u306e\u6e7f\u308a\u6c17\uff0c\u5468\u308a\u306e\u6e29\u5ea6\u3092\u78ba\u8a8d\u3067\u304d\u308b<\/p>\n<\/li>\n<li>\n<p>\u53d6\u5f97\u3057\u305f\u30c7\u30fc\u30bf\u306fGoogle Spread Sheet\u306b\u968f\u6642\u8a18\u9332\u3055\u308c\uff0c\u30bb\u30f3\u30b5\u304b\u3089\u306e\u30c7\u30fc\u30bf\u306e\u5909\u5316\u3092\u53ef\u8996\u5316\u51fa\u6765\u308b<\/p>\n<\/li>\n<\/ul>\n<p>\u4f5c\u3063\u305f\u3082\u306e\u306eUI\u306f\u3053\u3093\u306a\u611f\u3058\uff0e<\/p>\n<p><span itemscope itemtype=\"http:\/\/schema.org\/Photograph\"><img decoding=\"async\" src=\"https:\/\/cdn-ak.f.st-hatena.com\/images\/fotolife\/M\/McG\/20160213\/20160213164050.png\" alt=\"f:id:McG:20160213164050p:plain\" title=\"f:id:McG:20160213164050p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"><\/span><\/p>\n<h2 id=\"i-1\">\u4f7f\u3063\u305f\u3082\u306e<\/h2>\n<p>Arduino UNO: \u5404\u7a2e\u30bb\u30f3\u30b5\u304b\u3089\u5024\u3092\u53d6\u5f97\u3059\u308b\u306e\u306b\u5fc5\u8981\uff0e<\/p>\n<p>Ruby: Arduino UNO\u3068\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u3055\u305b\u3066\u5024\u3092\u53d6\u5f97\u3057\u3066\u3044\u308b\uff0e<\/p>\n<p>Ruby on Rails: \u53d7\u3051\u53d6\u3063\u305f\u5024\u3092Web\u30da\u30fc\u30b8\u306b\u8868\u793a\u3055\u305b\u308b\uff0e\u30b5\u30fc\u30d0\u30b5\u30a4\u30c9\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306fRails\u3067\u66f8\u304b\u308c\u3066\u3044\u308b\uff0e<\/p>\n<p>\u30bb\u30f3\u30b5\u985e: CdS\u30e2\u30b8\u30e5\u30fc\u30eb, \u571f\u58cc\u6e7f\u5ea6\u30bb\u30f3\u30b5\uff0c\u6e29\u5ea6\u30bb\u30f3\u30b5\u3092\u7528\u3044\u305f\uff0e<\/p>\n<h3 id=\"i-2\">\u4f7f\u7528\u30bb\u30f3\u30b5\u306e\u9078\u5b9a<\/h3>\n<p>\u4eca\u56de\uff0c\u690d\u7269\u306e\u72b6\u614b\u3092\u7ba1\u7406\u3059\u308b\u30b7\u30b9\u30c6\u30e0\u3092\u4f5c\u6210\u3059\u308b\u306b\u3042\u305f\u3063\u3066\uff0c\u300c\u690d\u7269\u306b\u3042\u305f\u3063\u3066\u3044\u308b\u5149\u306e\u91cf\u300d\uff0c\u300c\u690d\u7269\u5468\u8fba\u306e\u6c17\u6e29\u300d\uff0c\u300c\u571f\u58cc\u306e\u6e7f\u308a\u6c17\u300d\u306e3\u3064\u3092\u3068\u308b\u3053\u3068\u304c\u5fc5\u8981\u3067\u3042\u3063\u305f\u305f\u3081\uff0c\u305d\u306e\u76ee\u7684\u306b\u3042\u3063\u305f\u30bb\u30f3\u30b5\u3092\u9078\u5b9a\u3057\u305f\uff0e<\/p>\n<ul>\n<li>CdS\u30bb\u30eb<\/li>\n<\/ul>\n<p>\u690d\u7269\u306b\u3042\u305f\u3063\u3066\u3044\u308b\u5149\u306e\u91cf\u3092\u691c\u51fa\u3059\u308b\u305f\u3081\u306b\uff0cCdS\u30bb\u30eb(\u786b\u5316\u30ab\u30c9\u30df\u30a6\u30e0\u30bb\u30eb)\u3068\u547c\u3070\u308c\u308b\u7d20\u5b50\u3092\u7528\u3044\u305f\uff0eCdS\u30bb\u30eb\u306f\uff0c\u53d7\u5149\u3059\u308b\u5149\u306e\u91cf\u306b\u5fdc\u3058\u3066\u62b5\u6297\u5024\u304c\u5909\u5316\u3059\u308b\u305f\u3081\uff0c\u305d\u306e\u7279\u5fb4\u3092\u751f\u304b\u3057\u3066\u3042\u305f\u3063\u3066\u3044\u308b\u5149\u306e\u91cf\u3092\u691c\u51fa\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\uff0e<\/p>\n<ul>\n<li>\u6e29\u5ea6\u30bb\u30f3\u30b5<\/li>\n<\/ul>\n<p>\u690d\u7269\u5468\u8fba\u306e\u6c17\u6e29\u3092\u6e2c\u5b9a\u3059\u308b\u305f\u3081\u306e\u6e29\u5ea6\u30bb\u30f3\u30b5\u306b\u95a2\u3057\u3066\u306f\uff0cTexas Instruments\u793e\u306eLM61CIZ\u3068\u547c\u3070\u308c\u308b\u30bb\u30f3\u30b5\u3092\u4f7f\u7528\u3057\u305f\uff0e\u3053\u306e\u30bb\u30f3\u30b5\u306f-30\u5ea6\u304b\u3089100\u5ea6\u307e\u3067\u3092\u6e2c\u308b\u3053\u3068\u304c\u3067\u304d\u308b\uff0e-30\u5ea6\uff5e100\u5ea6\u3092300mV\uff5e1600mV\u306e\u7bc4\u56f2\u3067\u51fa\u529b\u3059\u308b\u305f\u3081\uff0cArduino\u3092\u7528\u3044\u3066\u96fb\u6d41\u3092\u6e2c\u5b9a\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u6e29\u5ea6\u3092\u5f97\u308b\u3053\u3068\u304c\u3067\u304d\u308b\uff0e<\/p>\n<ul>\n<li>\u571f\u58cc\u6e7f\u308a\u6c17\u30bb\u30f3\u30b5<\/li>\n<\/ul>\n<p>\u571f\u58cc\u306e\u6e7f\u308a\u6c17\u3092\u691c\u51fa\u3059\u308b\u305f\u3081\u306b\uff0cDFROBOT\u793e\u306e\u571f\u58cc\u6e7f\u5ea6\u30bb\u30f3\u30b5\u3092\u7528\u3044\u305f\uff0e\u571f\u306f\uff0c\u6e7f\u3063\u3066\u3044\u308b\u6642\u3068\u4e7e\u71e5\u3057\u3066\u3044\u308b\u6642\u3067\u62b5\u6297\u5024\u304c\u5909\u5316\u3059\u308b\u305f\u3081\uff0c\u305d\u308c\u3092\u5229\u7528\u3057\u3066\u571f\u306b\u542b\u307e\u308c\u3066\u3044\u308b\u6c34\u5206\u91cf\u3092\u6e2c\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\uff0e<\/p>\n<h2 id=\"i-3\">\u56de\u8def\u5468\u308a<\/h2>\n<p>\u56de\u8def\u56f3\u306f\u3053\u3093\u306a\u611f\u3058\uff0e<\/p>\n<p><span itemscope itemtype=\"http:\/\/schema.org\/Photograph\"><img decoding=\"async\" src=\"https:\/\/cdn-ak.f.st-hatena.com\/images\/fotolife\/M\/McG\/20160213\/20160213170353.png\" alt=\"f:id:McG:20160213170353p:plain\" title=\"f:id:McG:20160213170353p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"><\/span><\/p>\n<p>\u307e\u3041\u5404\u30bb\u30f3\u30b5\u306e\u5024\u3092Arduino\u306e\u30a2\u30ca\u30ed\u30b0\u30d4\u30f3\u306b\u7e4b\u3052\u3066\u308b\u3060\u3051\u3067\u3059\uff0e<\/p>\n<p>\u914d\u7dda\u8003\u3048\u308b\u3068\u304d\u306b\u53c2\u8003\u306b\u3057\u305f\u30b5\u30a4\u30c8\u306f\u3053\u308c\uff0e<\/p>\n<h4 id=\"i-4\">CdS\u5468\u308a<\/h4>\n<p><a href=\"http:\/\/www.geocities.jp\/zattouka\/GarageHouse\/micon\/Arduino\/CDStoLED\/CDStoLED.htm\">arduino\u4f7f\u3044\u65b9\uff1a\uff23\uff24\uff33\u3067\uff2c\uff25\uff24\u70b9\u706f<\/a><\/p>\n<h4 id=\"i-5\">\u571f\u58cc\u6e7f\u5ea6\u30bb\u30f3\u30b5\u5468\u308a<\/h4>\n<p><a href=\"http:\/\/www.dfrobot.com\/wiki\/index.php?title=Moisture_Sensor_(SKU:SEN0114)\">Moisture Sensor (SKU:SEN0114) \u2013 Robot Wiki<\/a><\/p>\n<h4 id=\"i-6\">\u6e29\u5ea6\u30bb\u30f3\u30b5\u5468\u308a<\/h4>\n<p><a href=\"http:\/\/www.geocities.jp\/zattouka\/GarageHouse\/micon\/Arduino\/Temp\/Temp.htm\">http:\/\/www.geocities.jp\/zattouka\/GarageHouse\/micon\/Arduino\/Temp\/Temp.htm<\/a><\/p>\n<h2 id=\"i-7\">\u30c7\u30fc\u30bf\u306e\u53d7\u3051\u6e21\u3057\u65b9<\/h2>\n<p>\u307e\u305a\uff0c\u6e29\u5ea6\u30bb\u30f3\u30b5\u30fb\u5149\u30bb\u30f3\u30b5\u30fb\u571f\u58cc\u6e7f\u5ea6\u30bb\u30f3\u30b5\u306e\u305d\u308c\u305e\u308c\u306e\u30bb\u30f3\u30b5\u304b\u3089\u53d6\u5f97\u3057\u305f\u30a2\u30ca\u30ed\u30b0\u5024\u3092Arduino\u304c\u53d7\u3051\u53d6\u308b\uff0e\u305d\u3057\u3066\uff0cArduino\u3068PC\u304c\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u3092\u884c\u3044\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3059\u308b\uff0e\u6b21\u306b\uff0c\u9001\u4fe1\u3055\u308c\u305f\u30c7\u30fc\u30bf\u3092Ruby\u306e<br \/>\n\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u7528\u3044\u3066\u30c6\u30ad\u30b9\u30c8\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u8fbc\u3080\uff0e\u305d\u306e\u66f8\u304d\u8fbc\u307e\u308c\u305f\u30c7\u30fc\u30bf\u3092\u3082\u3068\u306b\uff0c\u5f8c\u8ff0\u306eGoogle Drive API\u3092\u7528\u3044\u3066\uff0cGoogle Spread Sheet\u3067\u30b0\u30e9\u30d5\u3092\u751f\u6210\u3059\u308b\uff0e\u305d\u3057\u3066\uff0c\u305d\u306e\u30b0\u30e9\u30d5\u3068\u30c7\u30fc\u30bf\u306e\u5024\u3092Web\u30b5\u30a4\u30c8\u306b\u53cd\u6620\u3055\u305b\u308b\u3053\u3068\u306b\u3088\u3063\u3066\uff0c\u30e6\u30fc\u30b6\u304c\u690d\u7269\u306e\u72b6\u6cc1\u3092\u76e3\u8996\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\uff0e<\/p>\n<h2 id=\"i-8\">Google Spread Sheet\u3068\u306e\u9023\u643a<\/h2>\n<p>\u4eca\u56de\uff0c\u4e0a\u8a18\u306b\u3082\u8ff0\u3079\u305f\u901a\u308a\u306b\u30c7\u30fc\u30bf\u306e\u53ce\u96c6\u3068\u53ef\u8996\u5316\u3092\u884c\u3046\u305f\u3081\u306b\uff0cGoogle Spread Sheet\u3092\u7528\u3044\u3066\u5024\u3092\u6574\u7406\uff0c\u30b0\u30e9\u30d5\u5316\u3092\u884c\u3063\u305f\uff0e\u30b0\u30e9\u30d5\u306f\u30c7\u30fc\u30bf\u3092\u53d7\u4fe1\u3059\u308b\u5ea6\u306b\u66f4\u65b0\u3055\u308c\u308b\u305f\u3081\u3001\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u6027\u304c\u3042\u308a\uff0c\u304b\u3064\u690d\u7269\u306b\u3042\u305f\u3063\u3066\u3044\u308b\u5149\u91cf\u306e\u5909\u5316\u91cf\u306a\u3069\u304c\u4e00\u76ee\u3067\u308f\u304b\u308b\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\uff0e\u305d\u306e\u30b0\u30e9\u30d5\u3092\u5171\u6709\u6a5f\u80fd\u3067Web\u30b5\u30a4\u30c8\u3078\u57cb\u3081\u8fbc\u3080\u3053\u3068\u3067\u5229\u4fbf\u6027\u306e\u5411\u4e0a\u3092\u56f3\u3063\u305f\uff0eGoogle Spread Sheet\u3078\u30c7\u30fc\u30bf\u3092\u66f8\u304d\u8fbc\u3080\u969b\u306fGoogle Drive API\u3092\u7528\u3044\u3066Ruby\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u304b\u3089\u66f8\u304d\u8fbc\u307f\u3092\u884c\u3046\u65b9\u6cd5\u3092\u53d6\u3063\u305f\uff0e<\/p>\n<p><code>gem install google_drive<\/code>\u3092\u884c\u3046\u3068Google Drive\u306egem\u3092\u4f7f\u3048\u308b\u3088\u3046\u306b\u306a\u308b\uff0e<\/p>\n<p><iframe src=\"\/\/hatenablog-parts.com\/embed?url=http%3A%2F%2Fqiita.com%2Fyumiyon%2Fitems%2Fd7c370b3b8582431a3de\" title=\"Google Drive\u306e\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306bRuby\u3067\u30a2\u30af\u30bb\u30b9\u3059\u308b\u65b9\u6cd5 - Qiita\" class=\"embed-card embed-webcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 155px; max-width: 500px; margin: 10px 0px;\"><\/iframe><cite class=\"hatena-citation\"><a href=\"http:\/\/qiita.com\/yumiyon\/items\/d7c370b3b8582431a3de\">qiita.com<\/a><\/cite><\/p>\n<p>\u8a73\u3057\u304f\u306f\u3053\u306e\u3042\u305f\u308a\u3092\u53c2\u7167\uff0e<\/p>\n<pre class=\"code\" data-lang=\"\" data-unlink=\"\">require 'openssl'\nrequire \"google_drive\"\nOpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE\nclient = Google::APIClient.new\nauth = client.authorization\nauth.client_id = \"\u53d6\u5f97\u3057\u305fclient_id\"\nauth.client_secret = \"\u6240\u5f97\u3057\u305fclient_secret\"\nauth.refresh_token = \"\u53d6\u5f97\u3057\u305frefresh_token\"\nauth.fetch_access_token!\nsession = GoogleDrive.login_with_oauth(client)\nws = session.spreadsheet_by_key(\"\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306ekey\").worksheets[0] #key\u306f\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306eURL\u304b\u3089\u53d6\u308b\nloop{\ncount = ws.num_rows+1\ndoc = File.open(\"data.txt\").read\ni = 0\ndoc.split(\"\\n\").each do |line|\ncase i % 3\nwhen 0\n$temp = line\nwhen 1\n$lite = line\nwhen 2\n$soil = line\nend\ni += 1\nend\ntemperature = $temp\nlight = $lite\nhumidity = $soil\nws[count, 1] = \"#{count-1}\"\nws[count, 2] = \"#{Time.now.to_s}\"\nws[count, 3] = \"#{temperature}\"\nws[count, 4] = \"#{light}\"\nws[count, 5] = \"#{humidity}\"\nws.save()\nsleep 5\n}\n<\/pre>\n<p>\u3053\u3093\u306a\u611f\u3058\u3067\uff0c\u30c6\u30ad\u30b9\u30c8\u30c7\u30fc\u30bf\u304b\u3089\u306e\u60c5\u5831\u3092\u3068\u3063\u3066\u304d\u3066\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306b\u3042\u3052\u308b\uff0e<br \/>\n\u4e0a\u306e\u30b3\u30fc\u30c9\u306e\uff0c<code>\u30b9\u30d7\u30ec\u30c3\u30c9\u30b7\u30fc\u30c8\u306ekey<\/code>\u3063\u3066\u3044\u3046\u306e\u306f\uff0c\u4ee5\u4e0b\u306e\u753b\u50cf\u306e<code>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa<\/code>\u306e\u3068\u3053\u308d\u3092\u30b3\u30d4\u30da\u3059\u308b\uff0e<br \/>\n<span itemscope itemtype=\"http:\/\/schema.org\/Photograph\"><img decoding=\"async\" src=\"https:\/\/cdn-ak.f.st-hatena.com\/images\/fotolife\/M\/McG\/20160213\/20160213171619.png\" alt=\"f:id:McG:20160213171619p:plain\" title=\"f:id:McG:20160213171619p:plain\" class=\"hatena-fotolife\" itemprop=\"image\"><\/span><\/p>\n<h2 id=\"i-9\">Ruby\u3068Arduino\u3067\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1<\/h2>\n<p>Arduino\u5074\u3067\uff0c\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u30b3\u30fc\u30c9\u3092\u8a18\u8ff0<\/p>\n<pre class=\"code\" data-lang=\"\" data-unlink=\"\">void setup() {\nSerial.begin(9600);\n}\nvoid loop() {\nch = Serial.read();\nif(ch == 'a'){\nint bri = analogRead(A0);\nint temp = analogRead(A1);\nint moist = analogRead(A2);\nSerial.println(temp);\nSerial.println(bri);\nSerial.println(moist);\nSerial.println();\n}\n}\n<\/pre>\n<p>Ruby\u5074\u3067\u306f\uff0cSerialPort\u306egem\u304c\u5fc5\u8981\u306b\u306a\u308b\uff0e\u3053\u3061\u3089\u3092\u53c2\u8003\u306b\u3059\u308b\uff0e <a href=\"http:\/\/shokai.org\/blog\/archives\/5481\">\u6a4b\u672c\u5546\u4f1a \u00bb Ruby\u3067\u30b7\u30ea\u30a2\u30eb\u30dd\u30fc\u30c8\u3092\u4f7f\u3046\uff08\u6700\u65b0\u7248\uff09<\/a><\/p>\n<pre class=\"code\" data-lang=\"\" data-unlink=\"\">require 'rubygems'\ngem 'serialport','&gt;=1.0.4'\nrequire 'serialport'\nsp = SerialPort.new(port, 9600, 8, 1, SerialPort::NONE)\ntemp = sp.readline\nlite = sp.readline\nsoil = sp.readline<\/pre>\n<p>\u3068\uff0c\u3053\u3093\u306a\u611f\u3058\u306bRuby\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u66f8\u3044\u3066\u3084\u308c\u3070Arudino\u304b\u3089\u53d6\u3063\u305f\u30c7\u30fc\u30bf\u3092ruby\u3067\u3044\u3058\u308c\u308b\u3088\u3046\u306b\u306a\u308b\uff0e<\/p>\n<p>\u3042\u3068\u306f\u3053\u308c\u3092Rails\u3068\u304b\u3067\u3044\u3044\u611f\u3058\u306bWeb\u306b\u8868\u793a\u3057\u3066\u3042\u3052\u305f\u3089\u5b8c\u6210\uff0e<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u65e5\u306f\u30b5\u30fc\u30af\u30eb\u306e\uff0c\u5f8c\u671f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u6d3b\u52d5\u5831\u544a\u4f1a\u3067\u3057\u305f\uff0e 3D\u306e\u97f3\u697d\u30b2\u30fc\u30e0\uff0cVR\uff0cmruby\u304c\u6271\u3048\u308b\u30de\u30a4\u30b3\u30f3\u306e\u958b\u767a\uff0cSECCON\u306e\u5831\u544a\u306a\u3069\u306a\u3069\u697d\u3057\u305d\u3046\u306a\u3082\u306e\u304c\u305f\u304f\u3055\u3093\uff0e \u3046\u3061\u306e\u73ed\u306f\uff0cArduino\u3068Ruby\u3067\u690d\u7269\u7ba1\u7406\u30b7\u30b9\u30c6\u30e0 &#8230; <\/p>\n","protected":false},"author":1,"featured_media":16916,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":{"0":"post-17946","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-programming","8":"entry"},"_links":{"self":[{"href":"https:\/\/skill-hacks.co.jp\/media\/wp-json\/wp\/v2\/posts\/17946","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/skill-hacks.co.jp\/media\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/skill-hacks.co.jp\/media\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/skill-hacks.co.jp\/media\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/skill-hacks.co.jp\/media\/wp-json\/wp\/v2\/comments?post=17946"}],"version-history":[{"count":0,"href":"https:\/\/skill-hacks.co.jp\/media\/wp-json\/wp\/v2\/posts\/17946\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/skill-hacks.co.jp\/media\/wp-json\/wp\/v2\/media\/16916"}],"wp:attachment":[{"href":"https:\/\/skill-hacks.co.jp\/media\/wp-json\/wp\/v2\/media?parent=17946"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/skill-hacks.co.jp\/media\/wp-json\/wp\/v2\/categories?post=17946"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/skill-hacks.co.jp\/media\/wp-json\/wp\/v2\/tags?post=17946"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}