Help us understand the problem. What is going on with this article?

ArduBlock のカスタマイズ

More than 1 year has passed since last update.

「ArduBlock のビルド」
http://qiita.com/nanbuwks/items/dde4270eade41f8b75ec
にて作ったオリジナルバージョンを更に手を加えていきます。
image

スキンを変えてみる

$ cd src/main/resources/com/ardublock/block/Skins/
$ cp -a slim/* ..

image

カスタマイズの参考資料

「ArduBlock 日本語でArduinoをブロックプログラミング」
http://www.bkpoo.net/greatfreesoft/39-ardublock.html#ardublocknaositaitokoro

新しいブロックを作る

以下、esp32 用に Webサーバのブロックを作ったときに必要とした作業です。

新しい見出しを作る

src/main/resources/com/ardublock/block/ardublock.properties
 の中に追加作成する。

#ESP32
bd.esp32=esp32

src/main/resources/com/ardublock/block/ardublock.xml
 の中に追加作成する。

                                <BlockGenusMember>LCD_PLL_Sainsmart_16by2</BlockGenusMember>
                                <BlockGenusMember>number-single-I2C-address</BlockGenusMember>
                                <BlockGenusMember>number-single-fixed-parallel</BlockGenusMember>
                        </BlockDrawer>
                        <BlockDrawer button-color="121 85 72" name="bd.communication" type="factory">
                                <BlockGenusMember>serial_read</BlockGenusMember>
                                <BlockGenusMember>serial_read_poly</BlockGenusMember>
                                <BlockGenusMember>serial_available</BlockGenusMember>
                                <BlockGenusMember>serial_print</BlockGenusMember>
                                <BlockGenusMember>serial_println</BlockGenusMember>


                                <BlockGenusMember>LCD_PLL_Sainsmart_16by2</BlockGenusMember>
                                <BlockGenusMember>number-single-I2C-address</BlockGenusMember>
                                <BlockGenusMember>number-single-fixed-parallel</BlockGenusMember>
                        </BlockDrawer>
                        <BlockDrawer button-color="50 50 120" name="bd.esp32" type="factory">
                        </BlockDrawer>
                        <BlockDrawer button-color="121 85 72" name="bd.communication" type="factory">
                                <BlockGenusMember>serial_read</BlockGenusMember>
                                <BlockGenusMember>serial_read_poly</BlockGenusMember>
                                <BlockGenusMember>serial_available</BlockGenusMember>
                                <BlockGenusMember>serial_print</BlockGenusMember>
                                <BlockGenusMember>serial_println</BlockGenusMember>


image
[Forbidden]()

見出しができた

中身を作る

書き換える必要のあるファイル

src/main/resources/com/ardublock/block/ardublock.xml

  • ブロックの色、説明、ラベル、画像を指定。ブロックが持つコネクターの数、種類、説明を指定。および見出しに入るブロックを指定。
  • ここで指定される label や initlabelなどは以下の ardublock*.properties で表記を指定する。
  • initlabel は bg.~~~ となり、ブロックに使用するもの。~~~はブロック名と同じにする必要がある。
  • label は bc.~~~ となり、コネクタのものを示す。

src/main/resources/com/ardublock/block/ardublock*.properties

  • 各説明の表記を記述。ardublock.propertiesがデフォルト、ardublock_ja.propertiesには日本語の表記を記述。 ardublock.xmlのinitlavelやlabelに対応したものを必ず記述しなければならない。 descriptionはマウスフロートした時に出現する説明。必ずしも無くてもいい。ない場合はardublock.xmlの WebServer 中の記述が使われる。

src/main/resources/com/ardublock/block/block-mapping.properties

  • どのブロックがどのコードで記述されるかの説明。下のファイル名を記述する

src/main/java/com/ardublock/translator/block/ESP32_SimpleWebServerBlock.java

  • ブロックが配置された時に動作する内容を記述

画像

src/main/resources/com/ardublock/block/ardublock.xml
に記述される画像は

            <BlockGenus name="ESP32_MailSend" kind="command" color="20 20 20" initlabel="bg.ESP32_MailSend">
                    <description>
                            <text>MailSend</text>
                    </description>
                    <BlockConnectors>
                            <BlockConnector connector-type="string" connector-kind="socket" label="bc.title">
                                    <DefaultArg genus-name="message" label="Your ESSID"/>
                            </BlockConnector>
                            <BlockConnector connector-type="string" connector-kind="socket" label="bc.to">
                                    <DefaultArg genus-name="message" label="Your passphase"/>
                            </BlockConnector>
                            <BlockConnector connector-type="string" connector-kind="socket" label="bc.body">
                                    <DefaultArg genus-name="message" label="Your passphase"/>
                            </BlockConnector>
                    </BlockConnectors>
                    <Images>
                            <Image>
                                    <FileLocation>com/ardublock/block/mailsend.png</FileLocation>
                            </Image>
                    </Images>
            </BlockGenus>

こんな感じ。
src/main/resources/com/ardublock/block/
にある。

グラフィックは実物大で出る。

バージョン番号を変更する

src/main/resources/com/ardublock/block/ardublock.properties

ardublock.ui.version に バージョン番号を書く

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした