【KUSANAGI for IDCF】直感的に編集できるconcrete5をインストールしてみた

    概要 concrete5は、PHPプログラミング言語と、SymfonyやLaravelのフレームワークを使用して書かれたコンテンツ管理システムです。さまざまなコンポーネントが標準で用意されていて、レゴブロックのように、ブロックを積み上げてページを作成していくことができるCMSです。 WordPressほどネットで情報をありませんが、GUIで直感的にサイトを構築するにはとても便利なCMSです。concrete5で簡単なサイトを作ってみました。 ここでは、KUSANAGIを使用してConcrete5をインストールする方法と、Concrete5でサイトを編集する機能をまとめてみました。 ※WordPressが高速に動作する仮想マシンKUSANAGIでConcrete5が使えます。     環境 クラウドサーバ s1プラン+SSD 15GB(IDCFクラウド) ※超高速WordPress仮想マシンKUSANAGIテンプレート使用 concrete5 # concrete5 Version Core Version – 5.7.5.8 # Server Software Apache # PHP Version 5.6.30 ※conclete5環境は、管理画面より「システムと設定>環境情報>サーバー設定一覧 」にて取得     Concrete5のインストール1   コマンドラインからKUISANAGIの下記コマンドを入力して、ワードプレスのプロビジョニング(導入設定※)を行います。 ※ホスト名の設定、データベースの作成、SSLの発行など行います。 kusanagi provision –Concrete5   KUSANAGIのプロビジョニング       Concrete5のインストール2   次にブラウザからプロビジョン時に指定したホスト名(ドメイン)を入力して、Concrete5の初期設定を行います。 ※ここでは、Concrete5の一般的な初期設定として、使用言語や、使用するデータベースの情報(先ほどKUSANAGIのプロビジョンで作成したデータベース)を入力します。[…続きを読む]

Continue reading …

【Arduino】LCDディスプレイをbackpackモジュールで使ってみた

    概要 LCDディスプレイ(HD44780 コンパチブル 1602 LCD ディスプレイモジュール)は、Arduinoなどのマイコンに接続すればそのまま使用できます。 しかし、データ通信はパラレルですのでマイコンとの結線は多少手間がかかります。このbackpackモジュールは、HD44780 コンパチブル 1602 LCD ディスプレイモジュール用に、パラレルシリアル間のデータ変換を行うPCF8574Tと輝度調整用抵抗等がパックになったものです。 ARDUINOのデバッグや通信状態のモニタ用にLCDディスプレイの価格がやすくてIC2シリアルインターフェイスのbackpackモジュールもあるということで、HD44780 コンパチブル 1602 LCDディスプレイを使ってみることにしました。     環境 今回評価したもの HiLetgo DC 5V HD44780 1602 LCD ディスプレイモジュール 16×2キャラクタ LCDブルーブラックライト※ HiLetgo IIC/I2C/TWI/SPI シリアル インタフェース ボード モジュール Arduino 1602 LCD ディスプレイ   「ダイソー5LEDライトスタンドを改造してみた」で使用したもの ダイソー5LEDスタンド Arduono NANO SODIAL(R)製リレーモジュール 人感センサー ブレッドボードとジャンパー線 【Arduino】ダイソー5LEDライトスタンドを改造してみた  […続きを読む]

Continue reading …

【Arduino】sleepを利用して電力消費を抑えてみた

概要 Wikipediaによるとスリープとは・・ Arduinoで開発可能なAVRマイコンでもスリープ機能を使用することができます。Arduinoではライブラリを利用することで簡単にスリープを実現できます。 Arduinoのスリープ機能を使って消費電力を抑える方法を検討してみました。       環境       Arduinoのスリープモード   Arduinoでスリープを利用する方法は、リファレンスに記載されています。 リファレンスによると、いくつかのスリープモードを指定でき、スリープモードにより機能や復帰条件が異なるようです。 Sleep  (Arduino) http://playground.arduino.cc/Learning/ArduinoSleepCode   AVRマイコンのデータシートを参照すると、より詳細なスリープの機能と復帰条件が記載されていました。 ATmega328/P DATASHEET COMPLETE http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf   スリープモードの機能、復帰条件、効果をまとめると下表のようになります。 モード 説明 省電力効果 ※数値が大きいほど効果大 SLEEP_MODE_PWR_IDLE アイドル状態 システムクロックは停止しますが、内臓タイマーや外部割込み、シリアルポートなどの機能は動作します。復帰方法は外部割込み、ウォッチドッグタイマー、ADCの入力変化、リセットピンによる復帰が可能 1 SLEEP_MODE_PWR_ADC AD変換ノイズ低減用に利用されます(ADC対応のAVRでないと利用不可) – SLEEP_MODE_PWR_DOWN パワーダウンモード 最低限の動作のみのもっとも消費電力が少なくなります。 外部割込み、ウォッチドッグタイマー、リセットピンによる復帰が可能。 5 SLEEP_MODE_PWR_SAVE パワーセーブモード タイマー用の外部発信器は動作しているので、外部割込み、ウォッチドッグタイマー、リセットピンによる復帰が可能。 2 SLEEP_MODE_PWR_STANDBY スタンバイモード メインクロックが動作している以外、パワーダウンモードと同じ。 3[…続きを読む]

Continue reading …

【IoT】トランジスタをさらっとおさらい

概要 以前、「【Arduino】灌水ポンプを駆動する方法について検討してみた」で、Arduinoに接続された外部のポンプを駆動する方法を検討しました。そこで、「① 普通のトランジスタを使用する」の場合ではどのような回路を組めばよいのか検討してみました。   【Arduino】灌水ポンプを駆動する方法について検討してみた     環境       トランジスタとは   Wikipediaから引用しました。 トランジスタ(英: transistor)は、増幅、またはスイッチ動作をさせる半導体素子で、近代の電子工学における主力素子である。transfer(伝達)とresistor(抵抗)を組み合わせた造語である。ジョン・ロビンソン・ピアース(英語版)によって1948年に名づけられた[1]。「変化する抵抗を通じての信号変換器[英 1]」からの造語との説もある。 通称として「石」がある(真空管を「球」と通称したことに呼応する)。たとえばトランジスタラジオなどでは、使用しているトランジスタの数を数えて、6石ラジオ(6つのトランジスタを使ったラジオ)のように言う場合がある。 デジタル回路ではトランジスタが電子的なスイッチとして使われ、半導体メモリ・マイクロプロセッサ・その他の論理回路で利用されている。ただ、集積回路の普及に伴い、単体のトランジスタがデジタル回路における論理素子として利用されることはほとんどなくなった。一方、アナログ回路中では、トランジスタは基本的に増幅器として使われている。 wikipediaの説明にあるとおり、Arduinoを使用したデジタル回路では、電子的なスイッチとして使用します。大きな負荷を動かしたり100V交流電源を制御したりするのでなければ、一個数円で手に入るトランジスタを活用する方がお得ですし、カチカチ音もせず静かです。     トランジスタの基礎知識   トランジスタの種類 トランジスタは大きく二つに分類されます。一つはバイポーラ型でもう一つはユニポーラ型です。通常トランジスタといえばバイポーラ型を指します。 RSジャパンのサイトにわかりやすい説明がありますのでそこから抜粋します。   (1)バイポーラ型 バイポーラとは、正と負の2種類のキャリアが働くトランジスタです。 バイポーラ型には、大きく分けてPNP形トランジスタとNPN形トランジスタの2種類があり、PNP形はベースがN形半導体で、NPN形はベースがP形半導体で構成されています。 端子はベース(B)・エミッタ(E)・コレクタ(C)の3極です。ベース-エミッタ間に電流を流す事で、コレクタ-エミッタ間の電流を制御します。 製品の中には、抵抗内蔵トランジスタや、2つのトランジスタを組み合わせ、利得を高くしたダーリントントランジスタなどの複合トランジスタもあります。 (2)ユニポーラ型 ユニポーラとは、どちらか一方のキャリアが働くトランジスタです。 ユニポーラの代表的なものは、電界効果型トランジスタ(FET:Field effect transistor)で、接合形(ジャンクション)FETやMOS形FETなどがあります。 FETは、一般的なトランジスタが電流制御なのに対して、電圧制御になります。その為、消費電力が小さくて済みます。 一般的に端子は、ゲート(G)・ドレイン(D)・ソース(S)の3極ですが、デュアルゲートになっている4極の物もあります。   トランジスタの型名の先頭から3桁の英数字がトランジスタの種類をあらわしています。 例えば一般的によく使用されるトランジスタを例にあげると、 2SC1815–GR 2Sは電極数の数を表しています Cはトランジスタの型(PNP型かNPN型)と用途(高周波用か低周波用)を表しています 1815はトランジスタ登録につけられた番号でトランジスタそのものを識別する番号です GRはhFEランク(どのくらい電流を増幅できるか)を表しています ※2SC1815の場合、データシートによると 直流電流増幅率hFE[…続きを読む]

Continue reading …

【mySQL】回帰関数をストアドファンクションにしてみた

概要 以前、作成した回帰分析関数のSQLを、ストアドファンクションにしてみました。   【mySQL】オラクルの回帰分析関数をSQLで書いてみた     環境       ストアドプロシージャとは Wikipediaより抜粋しました ストアドプロシージャ (stored procedure) とは、データベースに対する一連の処理をまとめた手続きにして、関係データベース管理システム (RDBMS) に保存(永続化)したもの。永続格納モジュール (Persistent Storage Module) とも呼ばれる。ストアドプロシージャの格納先はRDBMSの実装により異なり、RDBMSのデータ辞書や専用の格納スペースが用いられている。     スクリプト   SQLをストアドファンクションで定義する   定義したストアドファンクションを呼び出す       参考  

Continue reading …

【mySQL】ストアドプロシジャ登録でエラーになる件

概要 phpMyAdminで新しいプロシジャを作成しようと、CREATE PROCEDURE を発行すると、「Cannot load from mysql.proc. The table is probably corrupted」のエラーが発生した。ネットで対処方法が載っていたのでその方法をメモしておく。     環境 5.5.54 – MySQL Community Server (GPL) by Remi     対処方法 mysql_upgradeを実行することで解決した。    原因 mysqlをアップグレードしたにもかからわず、データベースのバージョンがそれに対応していなかったため上記エラーが発生したと思われる。     スクリプト mysql_upgrade -u root -p       参考 [MySQL]Cannot load from mysql.proc. The table is probably corrupted[…続きを読む]

Continue reading …

【Arduino】ダイソー5LEDライトスタンドを改造してみた

概要   最近アマゾンで検索すれば大体のものが手に入るようになって、電気部品なんかも中国から送料なしで届く時代になりました。ネットでの買い物は出不精の人間にはとても便利です。そのそのせいで、百均もしはしばらくてなかったのですが、久しぶりに乾電池買いに近くのダイソーに行ってきました。そこで改造したらおもしろそうなものを見つけたので紹介します。       環境 今回使用したもの   ダイソー5LEDスタンド Arduono NANO SODIAL(R)製リレーモジュール 人感センサー ブレッドボードとジャンパー線       スタンドを分解してみると・・   デンソーのこのスタンドを分解してみると、電池ボックスに抵抗がついていてLEDにつながっているだけの簡単な構成です。 こちらのブログで回路図におこしてくれています。     LEDライトをリレーでON/OFF 先日購入した怪しいリレーモジュールとたまたま余っていた人感センサーにつないで、ライトをON/OFFしてみました。       スクリプト       参考 ダイソー5LED自在に角度変更できて自在で明るい! http://madosoto.com/1215.html 5LEDスタンド (5LED Circuit Standing Lamp With ON/OFF switch) http://memento.blog.bbiq.jp/blog/2015/06/daiso-5led-100–3d7c.html ダイソーの100円5LED卓上ライトを11LEDに魔改造してみた http://ardtv27.blogspot.jp/2016/09/1005led11led.html ダイソー 5LEDスタンド http://eleclabyrinth.blog.fc2.com/blog-entry-187.html 5LEDスタンドUSB改[…続きを読む]

Continue reading …

【Arduino】怪しいリレーモジュールを使ってみた

    概要 以前、「【Arduino】灌水ポンプを駆動する方法について検討してみた」で、Arduinoに接続された外部のポンプを駆動する方法を検討しました。しかし、そのときに検討すらしていなかった「リレーモジュール」がコスパ的に良さそうだったので試しに使ってみました。   【Arduino】灌水ポンプを駆動する方法について検討してみた       環境 今回使用したもの Target Arduono UNO SODIAL(R)製リレーモジュール ZigBee ZB TEST用親機 ZigBee ZB PC X-CTU(ZigBee用アプリケーション)       リレーモジュールの仕様 アマゾンで購入したSODIAL(R)製リレーモジュールです。ArduinoのGPIO出力を直接このリレーモジュールに接続するだけで使えるREADY-TO-GOのすぐれものです。2系統の制御ができて、200円もしないのですから使わない手はありません。 リレー本体はこちらのSRD-05VDC-SL-C、(R)SONGLE RELAYを使用しており、リレーを駆動するためにDP-817C(フォトカプラ)が使われています。       リレーモジュールの使い方   TOSADENSHIが公開しているリレーモジュール仕様書でArduinoでの使い方を説明しています。   ここでは、電源ラインのJD-VCCと制御ラインのVCCをジャンパーで短絡して、同じ電源をArduinoとリレーモジュールにそれぞれ供給しています。   これで問題なく動作しますが、かずいさんの怪しいリレーモジュールを買ってみたでこの基板を回路図にいるので見てみると、どうもこのJD-VCCとVCC短絡用のジャンパーは外して使用した方が良さそうです。 JCCは入力信号用の電源で、JD-VCCはリレー駆動用の電源です。今回接続しようとしている外部電源(リレーがON時にモータを駆動するために供給する電源)も5Vなので、この外部電源をJD-VCCに接続した方がよいですね。   そこで、外部電源の5Vをリレー駆動用電源として共有する方法で接続図を書きなおしてみました。   これでリレー駆動時にArduinoの電源が低下することもなくなりますので安心して使用できますね。。       スクリプト GPIO(ピン№13)を出力に設定して、2秒ごとにON/OFFを繰り返すサンプルプログラムです。 void[…続きを読む]

Continue reading …

【php】セッション管理をさらっとおさらい

      概要 cakePHPを使っているとログインの手続きはすべてAuthコンポーネントがすべてやってくれるため、セッション管理を特に意識してプログラミングする必要はありません。 しかし、ログイン時の挙動を変更したり、Authコンポーネントのバグでログインできなくなったりしたときには、cakePHPのセッション管理の仕組みを理解する必要があります。cakePHPにかぎらずwebプログラミングではセッション管理が重要ですのでこの機会にセッション管理についておさらいしてみました。       環境         そもそもセッション管理って何?   セッションをネットで調べると以下のように説明しています。   HTTP通信でWEBアクセスでしても、HTTP通信自体にセッション(つながり)という概念はないため、たとえ直前に同じ人(端末)からアクセスがあっても、サーバー側ではそのつながりがわかりません。 そこで、過去にアクセスがあった時の内容を呼び戻して参照できる仕組みをセッション管理といいます。   セッション管理について具体的で細かな説明は、こちらのサイトを参考にさせていただきました。このサイトではセッション管理の仕組みを順を追って実例を交えながら、ときには説明がまどろっこしいと思いえるくらい丁寧に書かれています。   セッション管理、クッキー(cookie)入門(システム奮闘記:その62) http://www.geocities.jp/sugachan1973/doc/funto62.html       サーバーどうやってデータのやり取りを行うの? サーバーとのやり取りのつながり以前に、どうやってサーバーとやり取りする方法があるか知らないと始まりません。サーバーとやり取りを行う基本的な方法を説明します。     GETメソッド URIのデータを取得するメソッドです。   下記のサイトでわかりやすく説明されています。 Web初心者のためのHTTP入門     PHPでGETデータを受け取る場合は、filter_input関数を使うようにします。 $_GETでも取得できますが、公式PHPマニュアルでは$_GETは非推奨となっています。     POSTメソッド   URIにリソースを追加するメソッドです。   こちらも下記のサイトでわかりやすく説明されています。 Web初心者のためのHTTP入門  […続きを読む]

Continue reading …

【農業】作物栽培管理の負担を軽減したい~松原農園の取り組み

        概要   以前このサイトでよんでんグループの農業分野への取り組みを紹介しました。よんでんグループでは、電力制御で培ってきた技術をいかして、「電気屋さんが作ったトマト」というトマトを作っています。 2017/05/12 「【農業】作物栽培管理の負担を軽減したい~四国総研の取り組み」 【農業】作物栽培管理の負担を軽減したい~四国総研の取り組み よんでんグループのトマトには及びませんが、松原農園でもIoTを活用した栽培管理に取り組んでいますので、その一部を紹介します。 ※このサイトではそのノウハウやTipsをできるだけ取り上げて記事にしていく予定です。         背景   松原農園では数年前から収穫量等の管理を行うシステム活用していました。 農園ブログより 農業日誌のWEB化対応(2012年10月10日付記事)   数年前はウェブで生産量を入力してデータを管理するくらいの機能しかなく、栽培管理は現場の作業者の勘に頼るほかありませんでした。しかし、少し前からIoTということばがちまたで聞かれるようになり、IoT製品も徐々に普及してきました。そのおかげで、それまではインターネットに接続して情報を活用する製品をつくるのにはかなりの技術と費用が要求されましたが、いまではある程度市販の商品を組み合わせることで少しの知識と予算で実現可能になりました。 松原農園のシステムも、IoT普及の恩恵を受けて、様々な情報をとりこみ活用できるようになり、少しずつ変化しています。         システム全体のイメージ   生産管理をいろいろな場面で支援するシステムです。まだまだですが、試験的に運用しています。         ハードウェア構成   通信ユニット(親機) WEBクラウド上のプログラムと農園内に設置したユニットとデータのやり取りを行うための中継ユニット。   センサーユニット(子機) 環境モニタに必要なセンサーを接続してデータを収集するためのユニット。   制御ユニット(子機) 環境を制御するため装置を接続して装置を駆動するためのユニット。   市販の製品を利用して通信ユニット、センサーユニットを試作して、システムの試験・評価を行っています。 ※制御ユニットは現在試作機を鋭意製作中です。    […続きを読む]

Continue reading …

【Python】ラズパイプログラムの関数化メモ

概要 ラズベリーパイでZigBeeデータの送受信などをしている部分のスクリプトは、PYTHONで記述しています。いくつかのルーチンは他でも使えそうなので関数化してみました。 環境   今回もpaiza.IOを利用させていただきました。 paiza.IOはとにかくエディターが便利 ideone.comと同じように動作させてみたいプログラミング言語を指定し、コードを入力してすると、WEB上で即座に実行し結果をかえしてくれるサイトですが、直感的でとにかくエディターが使いやすいのです。エラーの発生個所も適切に教えてくれるし断然使い勝手が良いです。 コンソールも用意されています そして、各言語にそれぞれコンソール画面があるのがまたまた便利です。 なんと、Twitterでプログラムが実行できる Twitterからもコードを実行できます。「@paiza_run」または「#paiza_run」ではじまるメッセージをツイートすると、実行結果がリプライとして 送られます。リプライの通知を受け取る場合、Twitterの仕組み上@paiza_runをフォローします。 @paiza_run ruby: puts “Hello” + “world” のように[@paiza_run]+[半角スペース]+[実行したいプログラミング言語]+[コロン(“:”)]+[実行したいコード] という形でツイートすると、結果をリプライとして贈られます。   スクリプト   2バイトのセンサーデータを有効なビットでマスクする   Arduinoから受信したデータを浮動小数点型に変換する   同じデータセットのグローバル配列変数をクラス化する       参考   ログ出力のための print と import logging はやめてほしい http://qiita.com/amedama/items/b856b2f30c2f38665701

Continue reading …