VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.037USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.008SP
├── Own SP
0.629SP
└── Incoming DelegationsDeleg
+4.378SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.629SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.378SP | SP |
| Effective Power | 5.008SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.000SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "1023.622864 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7120.036942 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | skysparrow |
| id | 629698 |
| rank | 671,261 |
| reputation | 74415709 |
| created | 2018-01-20T04:30:45 |
| recovery_account | steem |
| proxy | None |
| post_count | 10 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-01-21T04:45:42 |
| last_root_post | 2018-01-21T04:45:42 |
| last_vote_time | 1970-01-01T00:00:00 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.000 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 1023.622864 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7120.036942 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 1970-01-01T00:00:00 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 629698,
"name": "skysparrow",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8NqjTaAiSbUzkHDECHnXQNxgjD2L22MwV39Q2rMBFFMdjHEm78",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5UrfBtvdgBhR3ftha4DWPf6GX9VZyvyJcrqs8nvfBmsK1uBkKS",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5Cg1foYwUEZPoZfRdGSgs9xD5vbjb4Y8oRycGMfSfiZy5FQhET",
1
]
]
},
"memo_key": "STM6eiuZVzTcXxQf8kuB5SWqbCeeeLvkprX8XBCejfv5AEU2qLYaQ",
"json_metadata": "",
"posting_json_metadata": "",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "1970-01-01T00:00:00",
"created": "2018-01-20T04:30:45",
"mined": false,
"recovery_account": "steem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 10,
"can_vote": true,
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779086247
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779086247
},
"voting_power": 0,
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "1970-01-01T00:00:00",
"sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "0.000000 VESTS",
"reward_vesting_steem": "0.000 STEEM",
"vesting_shares": "1023.622864 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7120.036942 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 0,
"posting_rewards": 0,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2018-01-21T04:45:42",
"last_root_post": "2018-01-21T04:45:42",
"last_vote_time": "1970-01-01T00:00:00",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": 74415709,
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 671261
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
steemdelegated 4.378 SP to @skysparrow2026/05/18 06:37:27
steemdelegated 4.378 SP to @skysparrow
2026/05/18 06:37:27
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 7120.036942 VESTS |
| Transaction Info | Block #106151060/Trx 9fffca71c3e7cbe91e99920fd1ef9b6b9d6c0495 |
View Raw JSON Data
{
"trx_id": "9fffca71c3e7cbe91e99920fd1ef9b6b9d6c0495",
"block": 106151060,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-18T06:37:27",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "7120.036942 VESTS"
}
]
}steemdelegated 2.710 SP to @skysparrow2026/05/13 05:46:06
steemdelegated 2.710 SP to @skysparrow
2026/05/13 05:46:06
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 4407.826537 VESTS |
| Transaction Info | Block #106006751/Trx 555ab4179fa0eaf067a34ab80070d679486e0a56 |
View Raw JSON Data
{
"trx_id": "555ab4179fa0eaf067a34ab80070d679486e0a56",
"block": 106006751,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-13T05:46:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "4407.826537 VESTS"
}
]
}steemdelegated 4.386 SP to @skysparrow2026/04/26 05:48:42
steemdelegated 4.386 SP to @skysparrow
2026/04/26 05:48:42
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 7132.552698 VESTS |
| Transaction Info | Block #105518534/Trx 355b31eb785412d1cacc9aaf06873a4ca02a5419 |
View Raw JSON Data
{
"trx_id": "355b31eb785412d1cacc9aaf06873a4ca02a5419",
"block": 105518534,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-04-26T05:48:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "7132.552698 VESTS"
}
]
}steemdelegated 2.736 SP to @skysparrow2026/01/24 00:58:21
steemdelegated 2.736 SP to @skysparrow
2026/01/24 00:58:21
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 4449.373356 VESTS |
| Transaction Info | Block #102872379/Trx 26f01eb925faccc4b16b0b9b3b262f06721f4f84 |
View Raw JSON Data
{
"trx_id": "26f01eb925faccc4b16b0b9b3b262f06721f4f84",
"block": 102872379,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-01-24T00:58:21",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "4449.373356 VESTS"
}
]
}steemdelegated 2.837 SP to @skysparrow2024/12/17 20:08:06
steemdelegated 2.837 SP to @skysparrow
2024/12/17 20:08:06
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 4613.592553 VESTS |
| Transaction Info | Block #91318589/Trx dfc7f3bd21c2e10f965b526ad6dcfd28006830fa |
View Raw JSON Data
{
"trx_id": "dfc7f3bd21c2e10f965b526ad6dcfd28006830fa",
"block": 91318589,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2024-12-17T20:08:06",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "4613.592553 VESTS"
}
]
}steemdelegated 2.941 SP to @skysparrow2023/11/14 11:48:45
steemdelegated 2.941 SP to @skysparrow
2023/11/14 11:48:45
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 4782.726085 VESTS |
| Transaction Info | Block #79872724/Trx 875e25bdd31bafca93ebbc8e42c2e08dff08f258 |
View Raw JSON Data
{
"trx_id": "875e25bdd31bafca93ebbc8e42c2e08dff08f258",
"block": 79872724,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-11-14T11:48:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "4782.726085 VESTS"
}
]
}steemdelegated 4.747 SP to @skysparrow2023/09/22 10:48:15
steemdelegated 4.747 SP to @skysparrow
2023/09/22 10:48:15
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 7719.634871 VESTS |
| Transaction Info | Block #78363360/Trx c6ba3a090627c062bda777128b2c768de829b9aa |
View Raw JSON Data
{
"trx_id": "c6ba3a090627c062bda777128b2c768de829b9aa",
"block": 78363360,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-09-22T10:48:15",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "7719.634871 VESTS"
}
]
}steemdelegated 4.884 SP to @skysparrow2022/11/03 18:12:21
steemdelegated 4.884 SP to @skysparrow
2022/11/03 18:12:21
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 7941.686309 VESTS |
| Transaction Info | Block #69121028/Trx 04068fec8cdb11921cdd8ece83de86f2e02767ad |
View Raw JSON Data
{
"trx_id": "04068fec8cdb11921cdd8ece83de86f2e02767ad",
"block": 69121028,
"trx_in_block": 10,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-03T18:12:21",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "7941.686309 VESTS"
}
]
}steemdelegated 5.019 SP to @skysparrow2022/01/17 23:22:18
steemdelegated 5.019 SP to @skysparrow
2022/01/17 23:22:18
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 8161.793910 VESTS |
| Transaction Info | Block #60824238/Trx 2eba3b005330293a556901487c4c6f84e077110b |
View Raw JSON Data
{
"trx_id": "2eba3b005330293a556901487c4c6f84e077110b",
"block": 60824238,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-01-17T23:22:18",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "8161.793910 VESTS"
}
]
}steemdelegated 5.132 SP to @skysparrow2021/06/14 06:32:09
steemdelegated 5.132 SP to @skysparrow
2021/06/14 06:32:09
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 8345.988198 VESTS |
| Transaction Info | Block #54614541/Trx e7a7978ed815c38bfc17ff6261f748267a494e08 |
View Raw JSON Data
{
"trx_id": "e7a7978ed815c38bfc17ff6261f748267a494e08",
"block": 54614541,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2021-06-14T06:32:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "8345.988198 VESTS"
}
]
}steemdelegated 5.247 SP to @skysparrow2020/12/11 16:43:57
steemdelegated 5.247 SP to @skysparrow
2020/12/11 16:43:57
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 8533.410172 VESTS |
| Transaction Info | Block #49361791/Trx 836f20343ccdedfc7f0c32b8b30f650e02bd93cc |
View Raw JSON Data
{
"trx_id": "836f20343ccdedfc7f0c32b8b30f650e02bd93cc",
"block": 49361791,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-11T16:43:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "8533.410172 VESTS"
}
]
}steemdelegated 1.176 SP to @skysparrow2020/12/06 10:19:30
steemdelegated 1.176 SP to @skysparrow
2020/12/06 10:19:30
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49213306/Trx 0180623339426cfc50cc0f1153032a3b9df5662b |
View Raw JSON Data
{
"trx_id": "0180623339426cfc50cc0f1153032a3b9df5662b",
"block": 49213306,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-06T10:19:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "1912.543513 VESTS"
}
]
}steemdelegated 5.251 SP to @skysparrow2020/12/05 20:21:51
steemdelegated 5.251 SP to @skysparrow
2020/12/05 20:21:51
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 8539.618026 VESTS |
| Transaction Info | Block #49196877/Trx a25ca7772d165c11620010fc9e899995c06f358d |
View Raw JSON Data
{
"trx_id": "a25ca7772d165c11620010fc9e899995c06f358d",
"block": 49196877,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-05T20:21:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "8539.618026 VESTS"
}
]
}steemdelegated 1.181 SP to @skysparrow2020/11/03 03:15:54
steemdelegated 1.181 SP to @skysparrow
2020/11/03 03:15:54
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48271490/Trx c2dfdf5030cd13f8963aa569e6567865a3edaa27 |
View Raw JSON Data
{
"trx_id": "c2dfdf5030cd13f8963aa569e6567865a3edaa27",
"block": 48271490,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-11-03T03:15:54",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "1920.017158 VESTS"
}
]
}steemdelegated 5.376 SP to @skysparrow2020/05/09 11:23:00
steemdelegated 5.376 SP to @skysparrow
2020/05/09 11:23:00
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 8742.423385 VESTS |
| Transaction Info | Block #43223644/Trx 066b21fbe06622ae5f6d77b82043ababf7128058 |
View Raw JSON Data
{
"trx_id": "066b21fbe06622ae5f6d77b82043ababf7128058",
"block": 43223644,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-09T11:23:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "8742.423385 VESTS"
}
]
}steemdelegated 1.201 SP to @skysparrow2020/05/08 15:49:42
steemdelegated 1.201 SP to @skysparrow
2020/05/08 15:49:42
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43200736/Trx 82b0b664e1e2e5c2d419ec5cc2d6385af21caa28 |
View Raw JSON Data
{
"trx_id": "82b0b664e1e2e5c2d419ec5cc2d6385af21caa28",
"block": 43200736,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T15:49:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "1953.311140 VESTS"
}
]
}steemdelegated 5.384 SP to @skysparrow2020/04/16 03:27:45
steemdelegated 5.384 SP to @skysparrow
2020/04/16 03:27:45
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 8755.310833 VESTS |
| Transaction Info | Block #42569350/Trx 1b76f7371016bef443f7f17a24d857a5b8d311a9 |
View Raw JSON Data
{
"trx_id": "1b76f7371016bef443f7f17a24d857a5b8d311a9",
"block": 42569350,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-04-16T03:27:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "8755.310833 VESTS"
}
]
}2020/01/20 05:31:03
2020/01/20 05:31:03
| parent author | skysparrow |
| parent permlink | linux-iptables |
| author | steemitboard |
| permlink | steemitboard-notify-skysparrow-20200120t053102000z |
| title | |
| body | Congratulations @skysparrow! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@skysparrow/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@skysparrow) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=skysparrow)_</sub> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #40085086/Trx cd60bc5a2d00b0f1a89bba769b2ea5cd49fda8a3 |
View Raw JSON Data
{
"trx_id": "cd60bc5a2d00b0f1a89bba769b2ea5cd49fda8a3",
"block": 40085086,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-01-20T05:31:03",
"op": [
"comment",
{
"parent_author": "skysparrow",
"parent_permlink": "linux-iptables",
"author": "steemitboard",
"permlink": "steemitboard-notify-skysparrow-20200120t053102000z",
"title": "",
"body": "Congratulations @skysparrow! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@skysparrow/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@skysparrow) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=skysparrow)_</sub>\n\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}steemdelegated 5.504 SP to @skysparrow2019/05/12 20:34:51
steemdelegated 5.504 SP to @skysparrow
2019/05/12 20:34:51
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 8950.927646 VESTS |
| Transaction Info | Block #32852297/Trx 50b0dfecc336f38940517e7572dd94d3089c43e5 |
View Raw JSON Data
{
"trx_id": "50b0dfecc336f38940517e7572dd94d3089c43e5",
"block": 32852297,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-05-12T20:34:51",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "8950.927646 VESTS"
}
]
}2019/01/20 05:43:06
2019/01/20 05:43:06
| parent author | skysparrow |
| parent permlink | linux-iptables |
| author | steemitboard |
| permlink | steemitboard-notify-skysparrow-20190120t054305000z |
| title | |
| body | Congratulations @skysparrow! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@skysparrow/birthday1.png</td><td><p>Happy Birthday! - You are on the Steem blockchain for 1 year!<p></td></tr></table> <sub>_[Click here to view your Board](https://steemitboard.com/@skysparrow)_</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #29612711/Trx cb7306a9af449ec1bbf81355bc60a34c8ee51f2b |
View Raw JSON Data
{
"trx_id": "cb7306a9af449ec1bbf81355bc60a34c8ee51f2b",
"block": 29612711,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-01-20T05:43:06",
"op": [
"comment",
{
"parent_author": "skysparrow",
"parent_permlink": "linux-iptables",
"author": "steemitboard",
"permlink": "steemitboard-notify-skysparrow-20190120t054305000z",
"title": "",
"body": "Congratulations @skysparrow! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@skysparrow/birthday1.png</td><td><p>Happy Birthday! - You are on the Steem blockchain for 1 year!<p></td></tr></table>\n\n<sub>_[Click here to view your Board](https://steemitboard.com/@skysparrow)_</sub>\n\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}steemdelegated 5.627 SP to @skysparrow2018/05/17 02:52:45
steemdelegated 5.627 SP to @skysparrow
2018/05/17 02:52:45
| delegator | steem |
| delegatee | skysparrow |
| vesting shares | 9150.442738 VESTS |
| Transaction Info | Block #22497754/Trx 0b9c96da26c90a034c8186086cc5a716aec5db35 |
View Raw JSON Data
{
"trx_id": "0b9c96da26c90a034c8186086cc5a716aec5db35",
"block": 22497754,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-17T02:52:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "skysparrow",
"vesting_shares": "9150.442738 VESTS"
}
]
}skysparrowfollowed @vop-news2018/01/25 06:43:00
skysparrowfollowed @vop-news
2018/01/25 06:43:00
| required auths | [] |
| required posting auths | ["skysparrow"] |
| id | follow |
| json | ["follow",{"follower":"skysparrow","following":"vop-news","what":["blog"]}] |
| Transaction Info | Block #19280181/Trx 5bb53baac2ac96328a1dcd5e3c249e9bc3ce1e27 |
View Raw JSON Data
{
"trx_id": "5bb53baac2ac96328a1dcd5e3c249e9bc3ce1e27",
"block": 19280181,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-25T06:43:00",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"skysparrow"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"vop-news\",\"what\":[\"blog\"]}]"
}
]
}provodovairupvoted (100.00%) @skysparrow / linux-iptables2018/01/21 14:31:27
provodovairupvoted (100.00%) @skysparrow / linux-iptables
2018/01/21 14:31:27
| voter | provodovair |
| author | skysparrow |
| permlink | linux-iptables |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19174389/Trx 76adbe637bca3c531751612d68d5664a9f092e98 |
View Raw JSON Data
{
"trx_id": "76adbe637bca3c531751612d68d5664a9f092e98",
"block": 19174389,
"trx_in_block": 48,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T14:31:27",
"op": [
"vote",
{
"voter": "provodovair",
"author": "skysparrow",
"permlink": "linux-iptables",
"weight": 10000
}
]
}svalmtaupvoted (100.00%) @skysparrow / python-kalman-filter-install2018/01/21 14:24:18
svalmtaupvoted (100.00%) @skysparrow / python-kalman-filter-install
2018/01/21 14:24:18
| voter | svalmta |
| author | skysparrow |
| permlink | python-kalman-filter-install |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19174246/Trx 516b18c70ba9d2419093cea136d443ddf3b4a1f7 |
View Raw JSON Data
{
"trx_id": "516b18c70ba9d2419093cea136d443ddf3b4a1f7",
"block": 19174246,
"trx_in_block": 44,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T14:24:18",
"op": [
"vote",
{
"voter": "svalmta",
"author": "skysparrow",
"permlink": "python-kalman-filter-install",
"weight": 10000
}
]
}lidosasheyupvoted (100.00%) @skysparrow / python-kalman-filter-install2018/01/21 14:24:15
lidosasheyupvoted (100.00%) @skysparrow / python-kalman-filter-install
2018/01/21 14:24:15
| voter | lidosashey |
| author | skysparrow |
| permlink | python-kalman-filter-install |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19174245/Trx 7683c18fb385093457140c6351a6f4762830f578 |
View Raw JSON Data
{
"trx_id": "7683c18fb385093457140c6351a6f4762830f578",
"block": 19174245,
"trx_in_block": 19,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T14:24:15",
"op": [
"vote",
{
"voter": "lidosashey",
"author": "skysparrow",
"permlink": "python-kalman-filter-install",
"weight": 10000
}
]
}wetpoverinupvoted (100.00%) @skysparrow / python-kalman-filter-install2018/01/21 14:23:54
wetpoverinupvoted (100.00%) @skysparrow / python-kalman-filter-install
2018/01/21 14:23:54
| voter | wetpoverin |
| author | skysparrow |
| permlink | python-kalman-filter-install |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19174238/Trx f20b97d644a76e4b69eba82e8450e12874c01b24 |
View Raw JSON Data
{
"trx_id": "f20b97d644a76e4b69eba82e8450e12874c01b24",
"block": 19174238,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T14:23:54",
"op": [
"vote",
{
"voter": "wetpoverin",
"author": "skysparrow",
"permlink": "python-kalman-filter-install",
"weight": 10000
}
]
}skysparrowfollowed @rmp2018/01/21 12:13:39
skysparrowfollowed @rmp
2018/01/21 12:13:39
| required auths | [] |
| required posting auths | ["skysparrow"] |
| id | follow |
| json | ["follow",{"follower":"skysparrow","following":"rmp","what":["blog"]}] |
| Transaction Info | Block #19171634/Trx 31f813bc29b07c94fcabd76b9356b459383d1ca5 |
View Raw JSON Data
{
"trx_id": "31f813bc29b07c94fcabd76b9356b459383d1ca5",
"block": 19171634,
"trx_in_block": 29,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T12:13:39",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"skysparrow"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"rmp\",\"what\":[\"blog\"]}]"
}
]
}skysparrowfollowed @julieo2018/01/21 12:13:36
skysparrowfollowed @julieo
2018/01/21 12:13:36
| required auths | [] |
| required posting auths | ["skysparrow"] |
| id | follow |
| json | ["follow",{"follower":"skysparrow","following":"julieo","what":["blog"]}] |
| Transaction Info | Block #19171633/Trx dca3b423935c7cd1ece27e11cfe038458a5e2fe3 |
View Raw JSON Data
{
"trx_id": "dca3b423935c7cd1ece27e11cfe038458a5e2fe3",
"block": 19171633,
"trx_in_block": 126,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T12:13:36",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"skysparrow"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"julieo\",\"what\":[\"blog\"]}]"
}
]
}skysparrowfollowed @hotlist2018/01/21 12:13:36
skysparrowfollowed @hotlist
2018/01/21 12:13:36
| required auths | [] |
| required posting auths | ["skysparrow"] |
| id | follow |
| json | ["follow",{"follower":"skysparrow","following":"hotlist","what":["blog"]}] |
| Transaction Info | Block #19171633/Trx 4548d291731720a4dbd79c61dcc721b554b1dbaf |
View Raw JSON Data
{
"trx_id": "4548d291731720a4dbd79c61dcc721b554b1dbaf",
"block": 19171633,
"trx_in_block": 86,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T12:13:36",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"skysparrow"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"hotlist\",\"what\":[\"blog\"]}]"
}
]
}skysparrowfollowed @ochardkarl2018/01/21 05:22:03
skysparrowfollowed @ochardkarl
2018/01/21 05:22:03
| required auths | [] |
| required posting auths | ["skysparrow"] |
| id | follow |
| json | ["follow",{"follower":"skysparrow","following":"ochardkarl","what":["blog"]}] |
| Transaction Info | Block #19163407/Trx d9db57022cd25ad65357cc42f12dfe5cb4fed0af |
View Raw JSON Data
{
"trx_id": "d9db57022cd25ad65357cc42f12dfe5cb4fed0af",
"block": 19163407,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T05:22:03",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"skysparrow"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"ochardkarl\",\"what\":[\"blog\"]}]"
}
]
}skysparrowfollowed @a-0-12018/01/21 04:47:54
skysparrowfollowed @a-0-1
2018/01/21 04:47:54
| required auths | [] |
| required posting auths | ["skysparrow"] |
| id | follow |
| json | ["follow",{"follower":"skysparrow","following":"a-0-1","what":["blog"]}] |
| Transaction Info | Block #19162724/Trx 5f38def1a18e0fb9a15cb88516109ead877da42c |
View Raw JSON Data
{
"trx_id": "5f38def1a18e0fb9a15cb88516109ead877da42c",
"block": 19162724,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T04:47:54",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"skysparrow"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"a-0-1\",\"what\":[\"blog\"]}]"
}
]
}skysparrowfollowed @byresteem2018/01/21 04:47:54
skysparrowfollowed @byresteem
2018/01/21 04:47:54
| required auths | [] |
| required posting auths | ["skysparrow"] |
| id | follow |
| json | ["follow",{"follower":"skysparrow","following":"byresteem","what":["blog"]}] |
| Transaction Info | Block #19162724/Trx f6ce0a7aa8fba0899b0240cbdc6cc9b4511f4744 |
View Raw JSON Data
{
"trx_id": "f6ce0a7aa8fba0899b0240cbdc6cc9b4511f4744",
"block": 19162724,
"trx_in_block": 1,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T04:47:54",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"skysparrow"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"byresteem\",\"what\":[\"blog\"]}]"
}
]
}skysparrowfollowed @cryptoriddler2018/01/21 04:47:51
skysparrowfollowed @cryptoriddler
2018/01/21 04:47:51
| required auths | [] |
| required posting auths | ["skysparrow"] |
| id | follow |
| json | ["follow",{"follower":"skysparrow","following":"cryptoriddler","what":["blog"]}] |
| Transaction Info | Block #19162723/Trx 7de4206b2430c966ed1b06ec3aff5ef25d9eb511 |
View Raw JSON Data
{
"trx_id": "7de4206b2430c966ed1b06ec3aff5ef25d9eb511",
"block": 19162723,
"trx_in_block": 39,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T04:47:51",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"skysparrow"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"skysparrow\",\"following\":\"cryptoriddler\",\"what\":[\"blog\"]}]"
}
]
}skysparrowpublished a new post: linux-iptables2018/01/21 04:45:42
skysparrowpublished a new post: linux-iptables
2018/01/21 04:45:42
| parent author | |
| parent permlink | linux |
| author | skysparrow |
| permlink | linux-iptables |
| title | linux iptables 설명 |
| body | 1. iptables 란? iptables는 리눅스상에서 방화벽을 설정하는 도구로서 커널 2.4 이전 버전에서 사용되던 ipchains를 대신하는 방화벽 도구이다. iptables는 커널상에서의 netfilter 패킷필터링 기능을 사용자 공간에서 제어하는 수준으로 사용할 수 있다. 패킷필터링이란 지나가는 패킷의 해더를 보고 그 전체 패킷의 운명을 결정하는 것을 말한다. 일반적으로 패킷은 해더와 데이터를 가진다. 해더에 필터링할 정보인 출발지IP:PORT, 도착지IP:PORT, checksum, 프로토콜 옵션등을 가지며 데이터는 각각의 전송데이터가 들어간다. 특정 조건을 가지고 있는 패킷에 대해 허용(ACCEPT)과 차단(DROP)등을 지정할 수 있으며, 특정 조건등을 통해 다양한 방식의 패킷 필터링과 처리 방식을 지원한다. iptables 정책은 여러 구분으로 나눠지며 중요한 부분은 Chain이다. Chain은 패킷이 조작될 상태를 지정하며 iptables에 내장된 기본 Chain은 다음과 같다. (기본 Chain은 영구적이며 삭제가 불가능하다. 이외에 -N 옵션으로 지정하는 사용자 정의 Chain이 있다.) Chain INPUT : 서버로 들어오는 기본 정책 Chain FORWARD : 서버에서 forwarding 기본 정책 Chain OUTPUT : 서버에서 나가는 기본 정책 ------> INPUT ------> Linux Server ------> OUTPUT ------> | | +------------- FORWARD ---------------+ Linux Server를 목적지로 삼는 모든 패킷은 INPUT Chain을 통과하고 Linux Server에서 생성되 외부로 보내지는 모든 패킷은 OUTPUT Chain을 통과하게 된다. FORWARD Chain의 경우 현재의 Linux Server가 목적지가 아닌 패킷이 통과하는 Chain이다. (FORWARD Chain은 NAT(네트워크 공유) 기능 사용을 위해 사용된다.) 2 iptables의 구조 먼저 iptables에 대해 살펴보도록 하자. iptables는 다음의 구조로 구성된다. iptables -A INPUT -s [발신지] --sport [발신지 포트] -d [목적지] --dport [목적지 포트] -j [정책] iptables 명령 -A : 새로운 규칙을 추가한다. -D : 규칙을 삭제한다. -C : 패킷을 테스트한다. -I : 새로운 규칙을 삽입한다. -R : 새로운 규칙으로 교체한다. -L : 새로운 규칙을 출력한다. -F : 체인의 모든 규칙을 삭제한다. -Z : 모든 체인의 패킷과 바이트 카운터 값을 0으로 만든다. -N : 새로운 체인을 만든다. -X : 체인을 삭제한다. -P : 기본 정책을 변경한다. iptables 옵션 -p : 패킷의 프로토콜의 포트번호 또는 이름을 명시한다. (ex : tcp, udp, 21, 22) -s : 패킷의 발신지를 명시한다. (ex : address[/mask]) -d : 패킷의 도착지를 명시한다. -i : 규칙을 적용할 인터페이스 이름을 명시한다. (ex : eth0, eth1) -j : 규칙에 맞는 패킷을 어떻게 처리할 것인가를 명시한다. -y : 접속 요청 패킷인 SYN 패킷을 허용하지 않는다. -f : 두 번째 이후의 조각에 대해 규칙을 명시한다. 3 iptables 규칙 추가 예를 들어 만약 127.0.0.1 즉, 로컬에서 요청하는 모든 ICMP 패킷에 대해 무시하고자 할 때 어떻게 하면 될까? ping 요청에 사용되는 프토토콜은 ICMP 프로토콜이며, 발신 주소는 127.0.0.1이다. 패킷 필터의 목표는 폐기(DROP)이며, 사용하는 프로그램은 ping이다. 이를 기반으로 룰을 만들면 다음과 같다. // 체인을 추가하기 전 iptables # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination // 127.0.0.1 로 ping이 정상적으로 허용됨을 알 수 있다. # ping -c 3 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.029 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.028 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.026 ms --- 127.0.0.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 0.026/0.027/0.029/0.006 ms // 127.0.0.1 로 가는 ping을 거부하는 체인 추가 # iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP // iptables에 체인이 추가됨을 확인할 수 있다. # iptables -L // 현재 iptables에 icmp DROP 룰이 적용되어 있다. Chain INPUT (policy ACCEPT) target prot opt source destination DROP icmp -- SUNSYSTEM anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination // ping이 거부됨을 확인할 수 있다. # ping -c 3 127.0.0.1 PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. --- 127.0.0.1 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2008ms 4 iptables 규칙 제거 iptables의 체인 입력과 마찬가지로 삭제를 할 때에도 동일하게 입력하면 된다. iptables -D INPUT -s [발신지] --sport [발신지 포트] -d [목적지] --dport [목적지 포트] -j [정책] iptables -D INPUT [필터링 번호] (필터링 번호는 service iptables stat을 통해 확인할 수 있다.) ※ iptables -F INPUT 을 입력할 경우 모든 체인이 삭제된다. 그러면 위에 입력했던 체인을 제거해보도록 하자. # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination DROP icmp -- SUNSYSTEM anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination # iptables -D INPUT 1 // iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP를 사용해서 삭제할 수도 있다. # iptables -L Cain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination 5. iptables 정책 순서 모든 방화벽은 순차적 실행이다. 즉 등록 순서에 있어서 먼저 등록한 대해서 효력이 유효하기 때문에 등록시에는 순서가 매우 중요하다. 모든 입출력 패킷에 대해 거부하는 설정이 먼저 등록되면 그 이후에 포트를 열어주는 설정을 하여도 효과가 없다. 그러므로 허용하는 정책을 먼저 정의한 다음 거부하는 정책을 설정해야 한다. // 아래와 같이 설정하면 우선적으로 22번 포트가 열린 후 나중에 22번~30번 포트가 막히기 때문에 SSH 접속이 가능하다. # iptables -A INPUT -p tcp --dport 22 -j ACCEPT # iptables -A INPUT -p tcp --dport 22:30 -j DROP # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ssh DROP tcp -- anywhere anywhere tcp dpts:ssh:30 // 아래와 같이 설정하면 우선적으로 22번~30번 포트가 막히기 때문에 뒤에서 아무리 22번 포트를 열어도 외부에서 SSH로 접속할 수 없게 된다. // iptables로 입력할 경우 바로 적용이 되기 때문에 원격에서 작업할 경우엔 주의하자. # iptables -A INPUT -p tcp --dport 22:30 -j DROP # iptables -A INPUT -p tcp --dport 22 -j ACCEPT 6. 서비스를 위한 기본 설정 처음 설치시 방화벽을 설정하면 /etc/sysconfig/iptables 파일이 생성된다. 디폴트 iptables 파일을 삭제한 후 아래의 포트를 추가하도록 하자 // 기존 iptables 파일 제거 # rm -rf /etc/sysconfig/iptables rm: remove 일반 파일 `/etc/sysconfig/iptables"? y // iptables 정책 추가 # iptables -A INPUT -p tcp --dport 20 -j ACCEPT // ftp-data # iptables -A INPUT -p tcp --dport 21 -j ACCEPT // ftp # iptables -A INPUT -p tcp --dport 22 -j ACCEPT // ssh # iptables -A INPUT -p udp --dport 53 -j ACCEPT // named # iptables -A INPUT -p tcp --dport 80 -j ACCEPT // http # iptables -A INPUT -p tcp --dport 110 -j ACCEPT // pop3 # iptables -A INPUT -p tcp --dport 143 -j ACCEPT //imap # iptables -A INPUT -p tcp --dport 3306 -j ACCEPT // mysql # iptables -A INPUT -p icmp --icmp-type echo-request -j DROP // ping에 대한 응답 거부 # iptables -A INPUT -p tcp --dport 1:65335 -j DROP // 서비스포트 모두 거부 // iptables 확인 # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:ftp-data ACCEPT tcp -- anywhere anywhere tcp dpt:ftp ACCEPT tcp -- anywhere anywhere tcp dpt:ssh ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:http ACCEPT tcp -- anywhere anywhere tcp dpt:pop3 ACCEPT tcp -- anywhere anywhere tcp dpt:imap ACCEPT tcp -- anywhere anywhere tcp dpt:mysql DROP icmp -- anywhere anywhere icmp echo-request DROP tcp -- anywhere anywhere tcp dpts:tcpmux:65335 Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination // iptables 를 저장 # service iptables save 방화벽 규칙을 /etc/sysconfig/iptables에 저장 중: [ OK ] # ls /etc/sysconfig/iptables* /etc/sysconfig/iptables /etc/sysconfig/iptables-config // iptables 재시작 # service iptables start 방화벽 규칙을 삭제하는 중: [ OK ] chains를 ACCEPT 규칙으로 설정함: filter [ OK ] iptables 모듈을 제거하는 중: [ OK ] iptables 방화벽 규칙들을 적용하는 중: [ OK ] 추가 iptables 모듈을 읽어오는 중: ip_conntrack_netbios_ns [ OK ] // iptables 상태 # service iptables status 테이블: filter Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:110 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:143 8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 9 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8 10 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:1:65335 Chain FORWARD (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination // nmap 포트 스캔 # nmap localhost Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2009-04-14 13:45 KST Interesting ports on SUNSYSTEM (127.0.0.1): Not shown: 1673 filtered ports PORT STATE SERVICE 20/tcp closed ftp-data 21/tcp closed ftp 22/tcp open ssh 80/tcp closed http 110/tcp open pop3 143/tcp closed imap 3306/tcp open mysql 7. iptables의 확장 1초동안 80포트에 똑같은 IP가 10번 이상의 SYN가 들어오면 드랍시킨다. (즉, 정상적인 요청이 아닌 웹서비스 공격으로 간주하여 요청패킷을 폐기시켜 응답하지 않도록 한다.) 이외의 자세한 사항은 http://netfilter.org의 HOWTO를 읽어보길 바란다. # iptables -A INPUT -p tcp --dport 80 -m recent --update --seconds 1 --hitcount 10 --name HTTP -j DROP 스티밋에서의 큐레이션이 목적이 아니라. 평소 기록해둔 개발관련 내용을 블로깅 하는중입니다. 해당 포스팅의 출처를 찾기 어려워서 기록하지 못했습니다. 해당 포스팅의 제작자라면 출처를 알려주세요~ |
| json metadata | {"tags":["linux","iptables"],"links":["http://www.insecure.org/nmap/","http://netfilter.org"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19162680/Trx b5e59acb568f4d00ea482fb753190fb2f9e13a42 |
View Raw JSON Data
{
"trx_id": "b5e59acb568f4d00ea482fb753190fb2f9e13a42",
"block": 19162680,
"trx_in_block": 12,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T04:45:42",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "linux",
"author": "skysparrow",
"permlink": "linux-iptables",
"title": "linux iptables 설명",
"body": "1. iptables 란? \n \niptables는 리눅스상에서 방화벽을 설정하는 도구로서 커널 2.4 이전 버전에서 사용되던 ipchains를 대신하는 방화벽 도구이다. \niptables는 커널상에서의 netfilter 패킷필터링 기능을 사용자 공간에서 제어하는 수준으로 사용할 수 있다. \n \n패킷필터링이란 지나가는 패킷의 해더를 보고 그 전체 패킷의 운명을 결정하는 것을 말한다. \n일반적으로 패킷은 해더와 데이터를 가진다. \n해더에 필터링할 정보인 출발지IP:PORT, 도착지IP:PORT, checksum, 프로토콜 옵션등을 가지며 데이터는 각각의 전송데이터가 들어간다. \n \n특정 조건을 가지고 있는 패킷에 대해 허용(ACCEPT)과 차단(DROP)등을 지정할 수 있으며, 특정 조건등을 통해 다양한 방식의 패킷 필터링과 처리 방식을 지원한다. \n \niptables 정책은 여러 구분으로 나눠지며 중요한 부분은 Chain이다. \nChain은 패킷이 조작될 상태를 지정하며 iptables에 내장된 기본 Chain은 다음과 같다. \n(기본 Chain은 영구적이며 삭제가 불가능하다. 이외에 -N 옵션으로 지정하는 사용자 정의 Chain이 있다.) \n \nChain INPUT : 서버로 들어오는 기본 정책 \nChain FORWARD : 서버에서 forwarding 기본 정책 \nChain OUTPUT : 서버에서 나가는 기본 정책 \n------> INPUT ------> Linux Server ------> OUTPUT ------> \n | | \n +------------- FORWARD ---------------+ \n \n\nLinux Server를 목적지로 삼는 모든 패킷은 INPUT Chain을 통과하고 \nLinux Server에서 생성되 외부로 보내지는 모든 패킷은 OUTPUT Chain을 통과하게 된다. \nFORWARD Chain의 경우 현재의 Linux Server가 목적지가 아닌 패킷이 통과하는 Chain이다. \n(FORWARD Chain은 NAT(네트워크 공유) 기능 사용을 위해 사용된다.) \n \n \n2 iptables의 구조 \n \n먼저 iptables에 대해 살펴보도록 하자. \niptables는 다음의 구조로 구성된다. \niptables -A INPUT -s [발신지] --sport [발신지 포트] -d [목적지] --dport [목적지 포트] -j [정책] \n \niptables 명령 \n-A : 새로운 규칙을 추가한다. \n-D : 규칙을 삭제한다. \n-C : 패킷을 테스트한다. \n-I : 새로운 규칙을 삽입한다. \n-R : 새로운 규칙으로 교체한다. \n-L : 새로운 규칙을 출력한다. \n-F : 체인의 모든 규칙을 삭제한다. \n-Z : 모든 체인의 패킷과 바이트 카운터 값을 0으로 만든다. \n-N : 새로운 체인을 만든다. \n-X : 체인을 삭제한다. \n-P : 기본 정책을 변경한다. \n \niptables 옵션 \n-p : 패킷의 프로토콜의 포트번호 또는 이름을 명시한다. (ex : tcp, udp, 21, 22) \n-s : 패킷의 발신지를 명시한다. (ex : address[/mask]) \n-d : 패킷의 도착지를 명시한다. \n-i : 규칙을 적용할 인터페이스 이름을 명시한다. (ex : eth0, eth1) \n-j : 규칙에 맞는 패킷을 어떻게 처리할 것인가를 명시한다. \n-y : 접속 요청 패킷인 SYN 패킷을 허용하지 않는다. \n-f : 두 번째 이후의 조각에 대해 규칙을 명시한다. \n\n \n \n3 iptables 규칙 추가 \n \n예를 들어 만약 127.0.0.1 즉, 로컬에서 요청하는 모든 ICMP 패킷에 대해 무시하고자 할 때 어떻게 하면 될까? \nping 요청에 사용되는 프토토콜은 ICMP 프로토콜이며, 발신 주소는 127.0.0.1이다. \n패킷 필터의 목표는 폐기(DROP)이며, 사용하는 프로그램은 ping이다. \n이를 기반으로 룰을 만들면 다음과 같다. \n// 체인을 추가하기 전 iptables \n# iptables -L \n Chain INPUT (policy ACCEPT) \n target prot opt source destination \n \n Chain FORWARD (policy ACCEPT) \n target prot opt source destination \n \n Chain OUTPUT (policy ACCEPT) \n target prot opt source destination \n \n// 127.0.0.1 로 ping이 정상적으로 허용됨을 알 수 있다. \n# ping -c 3 127.0.0.1 \n PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. \n 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.029 ms \n 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.028 ms \n 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.026 ms \n --- 127.0.0.1 ping statistics --- \n 3 packets transmitted, 3 received, 0% packet loss, time 1998ms \n rtt min/avg/max/mdev = 0.026/0.027/0.029/0.006 ms \n\n// 127.0.0.1 로 가는 ping을 거부하는 체인 추가 \n# iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP \n \n// iptables에 체인이 추가됨을 확인할 수 있다. \n# iptables -L // 현재 iptables에 icmp DROP 룰이 적용되어 있다. \n Chain INPUT (policy ACCEPT) \n target prot opt source destination \n DROP icmp -- SUNSYSTEM anywhere \n \n Chain FORWARD (policy ACCEPT) \n target prot opt source destination \n \n Chain OUTPUT (policy ACCEPT) \n target prot opt source destination \n \n// ping이 거부됨을 확인할 수 있다. \n# ping -c 3 127.0.0.1 \n PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data. \n \n --- 127.0.0.1 ping statistics --- \n 3 packets transmitted, 0 received, 100% packet loss, time 2008ms \n \n\n\n \n4 iptables 규칙 제거 \n \niptables의 체인 입력과 마찬가지로 삭제를 할 때에도 동일하게 입력하면 된다. \niptables -D INPUT -s [발신지] --sport [발신지 포트] -d [목적지] --dport [목적지 포트] -j [정책] \niptables -D INPUT [필터링 번호] \n(필터링 번호는 service iptables stat을 통해 확인할 수 있다.) \n※ iptables -F INPUT 을 입력할 경우 모든 체인이 삭제된다. \n \n그러면 위에 입력했던 체인을 제거해보도록 하자. \n \n# iptables -L \n Chain INPUT (policy ACCEPT) \n target prot opt source destination \n DROP icmp -- SUNSYSTEM anywhere \n \n Chain FORWARD (policy ACCEPT) \n target prot opt source destination \n \n Chain OUTPUT (policy ACCEPT) \n target prot opt source destination \n\n# iptables -D INPUT 1 \n// iptables -D INPUT -s 127.0.0.1 -p icmp -j DROP를 사용해서 삭제할 수도 있다. \n \n# iptables -L \n Cain INPUT (policy ACCEPT) \n target prot opt source destination \n \n Chain FORWARD (policy ACCEPT) \n target prot opt source destination \n \n Chain OUTPUT (policy ACCEPT) \n target prot opt source destination \n\n \n \n5. iptables 정책 순서 \n \n모든 방화벽은 순차적 실행이다. \n즉 등록 순서에 있어서 먼저 등록한 대해서 효력이 유효하기 때문에 등록시에는 순서가 매우 중요하다. \n모든 입출력 패킷에 대해 거부하는 설정이 먼저 등록되면 그 이후에 포트를 열어주는 설정을 하여도 효과가 없다. \n그러므로 허용하는 정책을 먼저 정의한 다음 거부하는 정책을 설정해야 한다. \n \n// 아래와 같이 설정하면 우선적으로 22번 포트가 열린 후 나중에 22번~30번 포트가 막히기 때문에 SSH 접속이 가능하다. \n# iptables -A INPUT -p tcp --dport 22 -j ACCEPT \n# iptables -A INPUT -p tcp --dport 22:30 -j DROP \n \n# iptables -L \n Chain INPUT (policy ACCEPT) \n target prot opt source destination \n ACCEPT tcp -- anywhere anywhere tcp dpt:ssh \n DROP tcp -- anywhere anywhere tcp dpts:ssh:30 \n\n// 아래와 같이 설정하면 우선적으로 22번~30번 포트가 막히기 때문에 뒤에서 아무리 22번 포트를 열어도 외부에서 SSH로 \n접속할 수 없게 된다. \n// iptables로 입력할 경우 바로 적용이 되기 때문에 원격에서 작업할 경우엔 주의하자. \n# iptables -A INPUT -p tcp --dport 22:30 -j DROP \n# iptables -A INPUT -p tcp --dport 22 -j ACCEPT \n \n\n \n \n6. 서비스를 위한 기본 설정 \n \n처음 설치시 방화벽을 설정하면 /etc/sysconfig/iptables 파일이 생성된다. \n디폴트 iptables 파일을 삭제한 후 아래의 포트를 추가하도록 하자 \n// 기존 iptables 파일 제거 \n# rm -rf /etc/sysconfig/iptables \n rm: remove 일반 파일 `/etc/sysconfig/iptables\"? y \n \n// iptables 정책 추가 \n# iptables -A INPUT -p tcp --dport 20 -j ACCEPT // ftp-data \n# iptables -A INPUT -p tcp --dport 21 -j ACCEPT // ftp \n# iptables -A INPUT -p tcp --dport 22 -j ACCEPT // ssh \n# iptables -A INPUT -p udp --dport 53 -j ACCEPT // named \n# iptables -A INPUT -p tcp --dport 80 -j ACCEPT // http \n# iptables -A INPUT -p tcp --dport 110 -j ACCEPT // pop3 \n# iptables -A INPUT -p tcp --dport 143 -j ACCEPT //imap \n# iptables -A INPUT -p tcp --dport 3306 -j ACCEPT // mysql \n# iptables -A INPUT -p icmp --icmp-type echo-request -j DROP // ping에 대한 응답 거부 \n# iptables -A INPUT -p tcp --dport 1:65335 -j DROP // 서비스포트 모두 거부 \n \n// iptables 확인 \n# iptables -L \n Chain INPUT (policy ACCEPT) \n target prot opt source destination \n ACCEPT tcp -- anywhere anywhere tcp dpt:ftp-data \n ACCEPT tcp -- anywhere anywhere tcp dpt:ftp \n ACCEPT tcp -- anywhere anywhere tcp dpt:ssh \n ACCEPT udp -- anywhere anywhere udp dpt:domain \n ACCEPT tcp -- anywhere anywhere tcp dpt:http \n ACCEPT tcp -- anywhere anywhere tcp dpt:pop3 \n ACCEPT tcp -- anywhere anywhere tcp dpt:imap \n ACCEPT tcp -- anywhere anywhere tcp dpt:mysql \n DROP icmp -- anywhere anywhere icmp echo-request \n DROP tcp -- anywhere anywhere tcp dpts:tcpmux:65335 \n \n Chain FORWARD (policy ACCEPT) \n target prot opt source destination \n \n Chain OUTPUT (policy ACCEPT) \n target prot opt source destination \n\n// iptables 를 저장 \n# service iptables save \n 방화벽 규칙을 /etc/sysconfig/iptables에 저장 중: [ OK ] \n \n# ls /etc/sysconfig/iptables* \n /etc/sysconfig/iptables /etc/sysconfig/iptables-config \n\n// iptables 재시작 \n# service iptables start \n 방화벽 규칙을 삭제하는 중: [ OK ] \n chains를 ACCEPT 규칙으로 설정함: filter [ OK ] \n iptables 모듈을 제거하는 중: [ OK ] \n iptables 방화벽 규칙들을 적용하는 중: [ OK ] \n 추가 iptables 모듈을 읽어오는 중: ip_conntrack_netbios_ns [ OK ] \n\n// iptables 상태 \n# service iptables status \n 테이블: filter \n Chain INPUT (policy ACCEPT) \n num target prot opt source destination \n 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 \n 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 \n 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 \n 4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53 \n 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 \n 6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:110 \n 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:143 \n 8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 \n 9 DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 8 \n 10 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:1:65335 \n \n Chain FORWARD (policy ACCEPT) \n num target prot opt source destination \n \n Chain OUTPUT (policy ACCEPT) \n num target prot opt source destination \n\n// nmap 포트 스캔 \n# nmap localhost \n Starting Nmap 4.11 ( http://www.insecure.org/nmap/) at 2009-04-14 13:45 KST \n Interesting ports on SUNSYSTEM (127.0.0.1): \n Not shown: 1673 filtered ports \n PORT STATE SERVICE \n 20/tcp closed ftp-data \n 21/tcp closed ftp \n 22/tcp open ssh \n 80/tcp closed http \n 110/tcp open pop3 \n 143/tcp closed imap \n 3306/tcp open mysql \n\n \n\n \n \n7. iptables의 확장 \n1초동안 80포트에 똑같은 IP가 10번 이상의 SYN가 들어오면 드랍시킨다. \n(즉, 정상적인 요청이 아닌 웹서비스 공격으로 간주하여 요청패킷을 폐기시켜 응답하지 않도록 한다.) \n이외의 자세한 사항은 http://netfilter.org의 HOWTO를 읽어보길 바란다. \n# iptables -A INPUT -p tcp --dport 80 -m recent --update --seconds 1 --hitcount 10 --name HTTP -j DROP \n\n\n\n\n\n스티밋에서의 큐레이션이 목적이 아니라.\n평소 기록해둔 개발관련 내용을 블로깅 하는중입니다.\n\n해당 포스팅의 출처를 찾기 어려워서 기록하지 못했습니다.\n해당 포스팅의 제작자라면 출처를 알려주세요~",
"json_metadata": "{\"tags\":[\"linux\",\"iptables\"],\"links\":[\"http://www.insecure.org/nmap/\",\"http://netfilter.org\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}ochardkarlupvoted (100.00%) @skysparrow / python-kalman-filter-install2018/01/21 04:42:12
ochardkarlupvoted (100.00%) @skysparrow / python-kalman-filter-install
2018/01/21 04:42:12
| voter | ochardkarl |
| author | skysparrow |
| permlink | python-kalman-filter-install |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19162610/Trx 92e83f1c1aaadd0710a6e008c21ef6edac02aa52 |
View Raw JSON Data
{
"trx_id": "92e83f1c1aaadd0710a6e008c21ef6edac02aa52",
"block": 19162610,
"trx_in_block": 40,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T04:42:12",
"op": [
"vote",
{
"voter": "ochardkarl",
"author": "skysparrow",
"permlink": "python-kalman-filter-install",
"weight": 10000
}
]
}skysparrowpublished a new post: python-kalman-filter-install2018/01/21 04:40:30
skysparrowpublished a new post: python-kalman-filter-install
2018/01/21 04:40:30
| parent author | |
| parent permlink | python |
| author | skysparrow |
| permlink | python-kalman-filter-install |
| title | python kalman filter install / 파이썬 칼만필터 설치 / 라즈베리파이 |
| body | kalman fileter install sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose 참고 http://blog.pistuffing.co.uk/tag/kalman/ http://pykalman.github.io/# https://pypi.python.org/pypi/filterpy#downloads scipy 관련 내용 http://www.scipy.org/install.html 설치-git (armv7 오류) https://github.com/rlabbe/filterpy 칼만필터설치 http://pykalman.github.io/#installation sudo pip install pykalman ============================================ #!/usr/bin/env python # -*- coding: utf-8 -*- from pykalman import KalmanFilter import numpy as np kf = KalmanFilter(transition_matrices = [[1, 1], [0, 1]], observation_matrices = [[0.1, 0.5], [-0.3, 0.0]]) measurements = np.asarray([[1,0], [0,0], [0,1]]) # 3 observations kf = kf.em(measurements, n_iter=5) (filtered_state_means, filtered_state_covariances) = kf.filter(measurements) (smoothed_state_means, smoothed_state_covariances) = kf.smooth(measurements) print filtered_state_means print "" print smoothed_state_means ============================================ post : https://solenerotech.wordpress.com/ |
| json metadata | {"tags":["python","kalman","filter","rasberrypi"],"links":["http://blog.pistuffing.co.uk/tag/kalman/","http://pykalman.github.io/#","https://pypi.python.org/pypi/filterpy#downloads","http://www.scipy.org/install.html","https://github.com/rlabbe/filterpy","http://pykalman.github.io/#installation","https://solenerotech.wordpress.com/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19162576/Trx b7a199d9a1ce32a47dfeeaddc7950e0458f299a2 |
View Raw JSON Data
{
"trx_id": "b7a199d9a1ce32a47dfeeaddc7950e0458f299a2",
"block": 19162576,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-21T04:40:30",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "python",
"author": "skysparrow",
"permlink": "python-kalman-filter-install",
"title": "python kalman filter install / 파이썬 칼만필터 설치 / 라즈베리파이",
"body": "kalman fileter install\n\nsudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose\n\n\n참고\nhttp://blog.pistuffing.co.uk/tag/kalman/\nhttp://pykalman.github.io/#\nhttps://pypi.python.org/pypi/filterpy#downloads\n\nscipy 관련 내용\nhttp://www.scipy.org/install.html\n\n설치-git (armv7 오류)\nhttps://github.com/rlabbe/filterpy\n\n칼만필터설치\nhttp://pykalman.github.io/#installation\nsudo pip install pykalman\n\n\n\n\n============================================\n#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nfrom pykalman import KalmanFilter\nimport numpy as np\n\nkf = KalmanFilter(transition_matrices = [[1, 1], [0, 1]], observation_matrices = [[0.1, 0.5], [-0.3, 0.0]])\nmeasurements = np.asarray([[1,0], [0,0], [0,1]]) # 3 observations\nkf = kf.em(measurements, n_iter=5)\n(filtered_state_means, filtered_state_covariances) = kf.filter(measurements)\n(smoothed_state_means, smoothed_state_covariances) = kf.smooth(measurements)\n\nprint filtered_state_means\nprint \"\"\nprint smoothed_state_means\n\n============================================\n\n\n\npost : https://solenerotech.wordpress.com/",
"json_metadata": "{\"tags\":[\"python\",\"kalman\",\"filter\",\"rasberrypi\"],\"links\":[\"http://blog.pistuffing.co.uk/tag/kalman/\",\"http://pykalman.github.io/#\",\"https://pypi.python.org/pypi/filterpy#downloads\",\"http://www.scipy.org/install.html\",\"https://github.com/rlabbe/filterpy\",\"http://pykalman.github.io/#installation\",\"https://solenerotech.wordpress.com/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}shashkovmaksimupvoted (100.00%) @skysparrow / gpio-rasberry-pi-gpio2018/01/20 16:47:24
shashkovmaksimupvoted (100.00%) @skysparrow / gpio-rasberry-pi-gpio
2018/01/20 16:47:24
| voter | shashkovmaksim |
| author | skysparrow |
| permlink | gpio-rasberry-pi-gpio |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19148320/Trx 763b31bae33c80e2acf9349a4fb3f34426277822 |
View Raw JSON Data
{
"trx_id": "763b31bae33c80e2acf9349a4fb3f34426277822",
"block": 19148320,
"trx_in_block": 40,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T16:47:24",
"op": [
"vote",
{
"voter": "shashkovmaksim",
"author": "skysparrow",
"permlink": "gpio-rasberry-pi-gpio",
"weight": 10000
}
]
}bulbikupvoted (100.00%) @skysparrow / gpio-rasberry-pi-gpio2018/01/20 16:46:30
bulbikupvoted (100.00%) @skysparrow / gpio-rasberry-pi-gpio
2018/01/20 16:46:30
| voter | bulbik |
| author | skysparrow |
| permlink | gpio-rasberry-pi-gpio |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19148302/Trx 239834d851ec70ddd11f56ebe972b24d1f7aaa17 |
View Raw JSON Data
{
"trx_id": "239834d851ec70ddd11f56ebe972b24d1f7aaa17",
"block": 19148302,
"trx_in_block": 50,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T16:46:30",
"op": [
"vote",
{
"voter": "bulbik",
"author": "skysparrow",
"permlink": "gpio-rasberry-pi-gpio",
"weight": 10000
}
]
}alenaanoupvoted (100.00%) @skysparrow / gps-module-gy-gps6mv2-neo-6m-gps2018/01/20 16:23:33
alenaanoupvoted (100.00%) @skysparrow / gps-module-gy-gps6mv2-neo-6m-gps
2018/01/20 16:23:33
| voter | alenaano |
| author | skysparrow |
| permlink | gps-module-gy-gps6mv2-neo-6m-gps |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19147843/Trx ce25bceda51158bac4debfab45e78ffed68939bd |
View Raw JSON Data
{
"trx_id": "ce25bceda51158bac4debfab45e78ffed68939bd",
"block": 19147843,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T16:23:33",
"op": [
"vote",
{
"voter": "alenaano",
"author": "skysparrow",
"permlink": "gps-module-gy-gps6mv2-neo-6m-gps",
"weight": 10000
}
]
}zulfiashupvoted (100.00%) @skysparrow / gps-module-gy-gps6mv2-neo-6m-gps2018/01/20 16:23:30
zulfiashupvoted (100.00%) @skysparrow / gps-module-gy-gps6mv2-neo-6m-gps
2018/01/20 16:23:30
| voter | zulfiash |
| author | skysparrow |
| permlink | gps-module-gy-gps6mv2-neo-6m-gps |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19147842/Trx 6dfc881b2c4a1bef3c6880a3ff8dd0bfd6ec118c |
View Raw JSON Data
{
"trx_id": "6dfc881b2c4a1bef3c6880a3ff8dd0bfd6ec118c",
"block": 19147842,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T16:23:30",
"op": [
"vote",
{
"voter": "zulfiash",
"author": "skysparrow",
"permlink": "gps-module-gy-gps6mv2-neo-6m-gps",
"weight": 10000
}
]
}boguzhinaupvoted (100.00%) @skysparrow / rasberry-fi-resolution-option2018/01/20 16:20:00
boguzhinaupvoted (100.00%) @skysparrow / rasberry-fi-resolution-option
2018/01/20 16:20:00
| voter | boguzhina |
| author | skysparrow |
| permlink | rasberry-fi-resolution-option |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19147772/Trx 68155eab26f803d61be92390a8ab13d0e9a79514 |
View Raw JSON Data
{
"trx_id": "68155eab26f803d61be92390a8ab13d0e9a79514",
"block": 19147772,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T16:20:00",
"op": [
"vote",
{
"voter": "boguzhina",
"author": "skysparrow",
"permlink": "rasberry-fi-resolution-option",
"weight": 10000
}
]
}ofrantisupvoted (100.00%) @skysparrow / rasberry-fi-resolution-option2018/01/20 16:20:00
ofrantisupvoted (100.00%) @skysparrow / rasberry-fi-resolution-option
2018/01/20 16:20:00
| voter | ofrantis |
| author | skysparrow |
| permlink | rasberry-fi-resolution-option |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19147772/Trx 78c719b5f7f48e84ab1114ec548b7ffc76a7da7c |
View Raw JSON Data
{
"trx_id": "78c719b5f7f48e84ab1114ec548b7ffc76a7da7c",
"block": 19147772,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T16:20:00",
"op": [
"vote",
{
"voter": "ofrantis",
"author": "skysparrow",
"permlink": "rasberry-fi-resolution-option",
"weight": 10000
}
]
}yanachehoupvoted (100.00%) @skysparrow / rasberry-fi-resolution-option2018/01/20 16:18:24
yanachehoupvoted (100.00%) @skysparrow / rasberry-fi-resolution-option
2018/01/20 16:18:24
| voter | yanacheho |
| author | skysparrow |
| permlink | rasberry-fi-resolution-option |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19147740/Trx 16fc5d23bc5932993a0e5c18eaa71d648f6cb254 |
View Raw JSON Data
{
"trx_id": "16fc5d23bc5932993a0e5c18eaa71d648f6cb254",
"block": 19147740,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T16:18:24",
"op": [
"vote",
{
"voter": "yanacheho",
"author": "skysparrow",
"permlink": "rasberry-fi-resolution-option",
"weight": 10000
}
]
}neoproppinspoupvoted (100.00%) @skysparrow / rasberry-fi-resolution-option2018/01/20 16:18:21
neoproppinspoupvoted (100.00%) @skysparrow / rasberry-fi-resolution-option
2018/01/20 16:18:21
| voter | neoproppinspo |
| author | skysparrow |
| permlink | rasberry-fi-resolution-option |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19147739/Trx b15fac283bfca398bcd4cc3666a7515c88fceb15 |
View Raw JSON Data
{
"trx_id": "b15fac283bfca398bcd4cc3666a7515c88fceb15",
"block": 19147739,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T16:18:21",
"op": [
"vote",
{
"voter": "neoproppinspo",
"author": "skysparrow",
"permlink": "rasberry-fi-resolution-option",
"weight": 10000
}
]
}orleinupvoted (100.00%) @skysparrow / python-tg9e2018/01/20 12:30:15
orleinupvoted (100.00%) @skysparrow / python-tg9e
2018/01/20 12:30:15
| voter | orlein |
| author | skysparrow |
| permlink | python-tg9e |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19143177/Trx 9198a62da7e171b6729a9b9964d24000431e3ac9 |
View Raw JSON Data
{
"trx_id": "9198a62da7e171b6729a9b9964d24000431e3ac9",
"block": 19143177,
"trx_in_block": 31,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T12:30:15",
"op": [
"vote",
{
"voter": "orlein",
"author": "skysparrow",
"permlink": "python-tg9e",
"weight": 10000
}
]
}ubgupvoted (1.00%) @skysparrow / gpio-rasberry-pi-gpio2018/01/20 07:27:36
ubgupvoted (1.00%) @skysparrow / gpio-rasberry-pi-gpio
2018/01/20 07:27:36
| voter | ubg |
| author | skysparrow |
| permlink | gpio-rasberry-pi-gpio |
| weight | 100 (1.00%) |
| Transaction Info | Block #19137127/Trx d5164f4fd44267856973d16cba373b6c04feb118 |
View Raw JSON Data
{
"trx_id": "d5164f4fd44267856973d16cba373b6c04feb118",
"block": 19137127,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T07:27:36",
"op": [
"vote",
{
"voter": "ubg",
"author": "skysparrow",
"permlink": "gpio-rasberry-pi-gpio",
"weight": 100
}
]
}antormahmudupvoted (100.00%) @skysparrow / rpi-ap-setting-dhcp-setting2018/01/20 07:12:36
antormahmudupvoted (100.00%) @skysparrow / rpi-ap-setting-dhcp-setting
2018/01/20 07:12:36
| voter | antormahmud |
| author | skysparrow |
| permlink | rpi-ap-setting-dhcp-setting |
| weight | 10000 (100.00%) |
| Transaction Info | Block #19136827/Trx d41e38b92eba556ece0a32d8e12e3e9243238f83 |
View Raw JSON Data
{
"trx_id": "d41e38b92eba556ece0a32d8e12e3e9243238f83",
"block": 19136827,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T07:12:36",
"op": [
"vote",
{
"voter": "antormahmud",
"author": "skysparrow",
"permlink": "rpi-ap-setting-dhcp-setting",
"weight": 10000
}
]
}skysparrowpublished a new post: rpi-ap-setting-dhcp-setting2018/01/20 07:11:18
skysparrowpublished a new post: rpi-ap-setting-dhcp-setting
2018/01/20 07:11:18
| parent author | |
| parent permlink | rasberrypi |
| author | skysparrow |
| permlink | rpi-ap-setting-dhcp-setting |
| title | [구동확인] RPI-AP Setting / DHCP Setting |
| body | @@ -1,66 +1,42 @@ -===========================%0A%ED%8C%A8%ED%82%A4%EC%A7%80 %EC%84%A4%EC%B9%98%0A=========================== +RPI-AP Setting / DHCP Setting%0A%0A%ED%8C%A8%ED%82%A4%EC%A7%80 %EC%84%A4%EC%B9%98%0A %0Asud |
| json metadata | {"tags":["rasberrypi","ap","setting","dhcp","bridge"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19136801/Trx 1b724db4f93079c3ef5c2facc954fe465b0977b8 |
View Raw JSON Data
{
"trx_id": "1b724db4f93079c3ef5c2facc954fe465b0977b8",
"block": 19136801,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T07:11:18",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "rasberrypi",
"author": "skysparrow",
"permlink": "rpi-ap-setting-dhcp-setting",
"title": "[구동확인] RPI-AP Setting / DHCP Setting",
"body": "@@ -1,66 +1,42 @@\n-===========================%0A%ED%8C%A8%ED%82%A4%EC%A7%80 %EC%84%A4%EC%B9%98%0A===========================\n+RPI-AP Setting / DHCP Setting%0A%0A%ED%8C%A8%ED%82%A4%EC%A7%80 %EC%84%A4%EC%B9%98%0A\n %0Asud\n",
"json_metadata": "{\"tags\":[\"rasberrypi\",\"ap\",\"setting\",\"dhcp\",\"bridge\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}skysparrowpublished a new post: rpi-ap-setting-dhcp-setting2018/01/20 07:10:45
skysparrowpublished a new post: rpi-ap-setting-dhcp-setting
2018/01/20 07:10:45
| parent author | |
| parent permlink | rasberrypi |
| author | skysparrow |
| permlink | rpi-ap-setting-dhcp-setting |
| title | [구동확인] RPI-AP Setting / DHCP Setting |
| body | =========================== 패키지 설치 =========================== sudo apt-get update sudo apt-get install bridge-utils hostapd hostap-utils dnsmasq iw sudo apt-get install udhcpd =========================== 기존의 hostapd를 교체 - 랜카드 드라이버로 인하여 (호환되는 랜카드 드라이버찾아야함 - 첨부된것은 iptime U100N Mini) =========================== 자료첨부 : 20150514182731_hostapd.zip wget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zip unzip hostapd.zip 혹시라도 작동중일지도 모르는, hostapd를 정지시키고 교체합니다. sudo service hostapd stop sudo cp hostapd /usr/sbin/hostapd ==================================== 네트웍 설정 ==================================== /etc/network 아래는 랜선1, 무선랜1, 무선랜2 이며 무선랜2번에 AP를 부여하는 경우이다 auto lo iface lo inet loopback auto eth0 allow-hotplug eth0 iface eth0 inet manual # Internet Access auto wlan0 allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf # Access point iface wlan1 inet static #bridge_ports eth0 wlan1 address 192.168.50.1 broadcast 192.168.50.255 netmask 255.255.255.0 up iptables-restore < /etc/iptables.ipv4.nat ==================================== /etc/default/udhcpd ==================================== DHCPD_ENABLED="yes" ==================================== /etc/udhcpd.conf ==================================== start 192.168.50.2 #default: 192.168.0.20 end 192.168.50.254 #default: 192.168.0.254 interface wlan1 #default: eth0 max_leases 254 #default: 254 remaining yes #default: yes auto_time 7200 #default: 7200 (2 hours) lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid opt dns 192.168.50.2 192.168.50.255 option subnet 255.255.255.0 opt router 192.168.50.1 #opt wins 192.168.10.10 #option dns 129.219.13.81 # appened to above DNS servers for a total of 3 option domain local option lease 864000 # 10 days of seconds ==================================== Host AP 설정 ==================================== /etc/default/hostapd DAEMON_CONF="/etc/hostapd/hostapd.conf" ==================================== Host AP 환경설정 ==================================== /etc/hostapd/hostapd.conf interface=wlan1 driver=rtl871xdrv bridge=wlan1 #parametes so that the daemon runs ctrl_interface=/var/run/hostapd ctrl_interface_group=0 #the wifi configuration ssid=ICARUSX-RPI-AP channel=6 hw_mode=g #Security of the Wifi conection wpa=1 wpa_passphrase=ajdcjddl wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP #Other setting rsn_pairwise=CCMP auth_algs=3 macaddr_acl=0 beacon_int=100 wmm_enabled=1 wme_enabled=1 ==================================== /etc/resolv.conf ==================================== nameserver 61.41.153.2 nameserver 1.214.68.2 ==================================== /etc/sysctl.conf ==================================== net.ipv4.ip_forward=1 ==================================== /etc/rc.local ==================================== #AP sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo iptables -A FORWARD -i eth0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT ==================================== /etc/dnsmasq.conf ==================================== #no-resolv domain-needed interface=wlan1 dhcp-range=192.168.50.2,192.168.50.254,255.255.255.0,12h # Override the default route supplied by dnsmasq, which assumes the # router is the same machine as the one running dnsmasq. #dhcp-option=3,1.2.3.4 dhcp-option=3,192.168.50.1 ==================================== 필수아님 ==================================== Python-nmap 설치 ==================================== sudo apt-get install python-nmap //NMap 을 이용한 스캔 import nmap nm = nmap.PortScanner() nm.scan( arguments = "-v -sP 192.168.50.*" ) for addr in nm.all_hosts() : item = nm[ addr ] v = [ addr, item.hostname(), item.state() ] print v, =========================== Apache 추가설정 =========================== apache : /etc/httpd.conf apache2 : /etc/apache2/conf.d/localized-error-pages ErrorDocument 404 /missing.html 주석 제거 , 원하는 파일 생성 처리 =========================== 서비스재시작 =========================== /etc/init.d/networking restart sudo service networking restart sudo service hostapd restart sudo service dnsmasq restart sudo service udhcpd restart |
| json metadata | {"tags":["rasberrypi","ap","setting","dhcp","bridge"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19136790/Trx d76f7b4605c4447b3eea552e2374f5fab37f59e2 |
View Raw JSON Data
{
"trx_id": "d76f7b4605c4447b3eea552e2374f5fab37f59e2",
"block": 19136790,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T07:10:45",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "rasberrypi",
"author": "skysparrow",
"permlink": "rpi-ap-setting-dhcp-setting",
"title": "[구동확인] RPI-AP Setting / DHCP Setting",
"body": "===========================\n패키지 설치\n===========================\nsudo apt-get update\n\n\nsudo apt-get install bridge-utils hostapd hostap-utils dnsmasq iw\n\nsudo apt-get install udhcpd\n\n\n\n\n\n\n\n\n\n\n===========================\n기존의 hostapd를 교체 - 랜카드 드라이버로 인하여 (호환되는 랜카드 드라이버찾아야함 - 첨부된것은 iptime U100N Mini)\n===========================\n\n자료첨부 : 20150514182731_hostapd.zip\n\n\nwget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zip\nunzip hostapd.zip\n\n혹시라도 작동중일지도 모르는, hostapd를 정지시키고 교체합니다.\nsudo service hostapd stop\nsudo cp hostapd /usr/sbin/hostapd\n\n\n\n\n\n\n====================================\n네트웍 설정\n====================================\n/etc/network\n\n아래는 랜선1, 무선랜1, 무선랜2 이며 무선랜2번에 AP를 부여하는 경우이다\n\nauto lo\niface lo inet loopback\n\nauto eth0\nallow-hotplug eth0\niface eth0 inet manual\n\n\n# Internet Access\nauto wlan0\nallow-hotplug wlan0\niface wlan0 inet manual\nwpa-roam /etc/wpa_supplicant/wpa_supplicant.conf\n\n\n# Access point\niface wlan1 inet static\n #bridge_ports eth0 wlan1\n address 192.168.50.1\n broadcast 192.168.50.255\n netmask 255.255.255.0\n\nup iptables-restore < /etc/iptables.ipv4.nat\n\n\n\n\n\n\n\n\n\n\n\n====================================\n/etc/default/udhcpd\n====================================\nDHCPD_ENABLED=\"yes\"\n\n\n\n\n\n====================================\n/etc/udhcpd.conf\n====================================\n\nstart 192.168.50.2 #default: 192.168.0.20\nend 192.168.50.254 #default: 192.168.0.254\n\ninterface wlan1 #default: eth0\n\nmax_leases\t254\t\t#default: 254\n\nremaining\tyes\t\t#default: yes\n\nauto_time\t7200\t\t#default: 7200 (2 hours)\n\nlease_file\t/var/lib/misc/udhcpd.leases\t#defualt: /var/lib/misc/udhcpd.leases\npidfile\t/var/run/udhcpd.pid\t#default: /var/run/udhcpd.pid\n\nopt\tdns\t192.168.50.2 192.168.50.255\noption subnet 255.255.255.0\nopt router 192.168.50.1\n#opt wins 192.168.10.10\n#option dns 129.219.13.81 # appened to above DNS servers for a total of 3\noption domain local\noption lease 864000 # 10 days of seconds\n\n\n\n\n\n\n\n\n====================================\nHost AP 설정\n====================================\n/etc/default/hostapd\n\nDAEMON_CONF=\"/etc/hostapd/hostapd.conf\"\n\n\n\n\n\n\n\n====================================\nHost AP 환경설정\n====================================\n/etc/hostapd/hostapd.conf\n\n\ninterface=wlan1\ndriver=rtl871xdrv\nbridge=wlan1\n\n#parametes so that the daemon runs\nctrl_interface=/var/run/hostapd\nctrl_interface_group=0\n\n#the wifi configuration\nssid=ICARUSX-RPI-AP\nchannel=6\nhw_mode=g\n\n#Security of the Wifi conection\nwpa=1\nwpa_passphrase=ajdcjddl\nwpa_key_mgmt=WPA-PSK\nwpa_pairwise=TKIP CCMP\n\n#Other setting\nrsn_pairwise=CCMP\nauth_algs=3\nmacaddr_acl=0\nbeacon_int=100\nwmm_enabled=1\nwme_enabled=1\n\n\n\n\n====================================\n/etc/resolv.conf\n====================================\nnameserver 61.41.153.2\nnameserver 1.214.68.2\n\n\n\n\n====================================\n/etc/sysctl.conf\n====================================\nnet.ipv4.ip_forward=1\n\n\n\n\n====================================\n/etc/rc.local\n====================================\n\n#AP\nsudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE\nsudo iptables -A FORWARD -i eth0 -o wlan1 -m state --state RELATED,ESTABLISHED -j ACCEPT\nsudo iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT\n\n\n\n\n\n====================================\n/etc/dnsmasq.conf\n====================================\n\n#no-resolv\ndomain-needed\ninterface=wlan1\ndhcp-range=192.168.50.2,192.168.50.254,255.255.255.0,12h\n\n\n# Override the default route supplied by dnsmasq, which assumes the\n# router is the same machine as the one running dnsmasq.\n#dhcp-option=3,1.2.3.4\ndhcp-option=3,192.168.50.1\n\n\n\n====================================\n필수아님\n====================================\nPython-nmap 설치\n====================================\nsudo apt-get install python-nmap\n\n\n //NMap 을 이용한 스캔\n\n import nmap\n nm = nmap.PortScanner()\n nm.scan( arguments = \"-v -sP 192.168.50.*\" )\n for addr in nm.all_hosts() :\n item = nm[ addr ]\n v = [ addr, item.hostname(), item.state() ]\n print v,\n\n\n\n\n\n\n\n===========================\nApache 추가설정\n===========================\n apache : /etc/httpd.conf\n apache2 : /etc/apache2/conf.d/localized-error-pages\n\n ErrorDocument 404 /missing.html\n 주석 제거 , 원하는 파일 생성 처리\n\n\n===========================\n서비스재시작\n===========================\n\n/etc/init.d/networking restart\n\nsudo service networking restart\nsudo service hostapd restart\nsudo service dnsmasq restart\nsudo service udhcpd restart",
"json_metadata": "{\"tags\":[\"rasberrypi\",\"ap\",\"setting\",\"dhcp\",\"bridge\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}smarthamster72upvoted (1.00%) @skysparrow / gpio-rasberry-pi-gpio2018/01/20 07:07:15
smarthamster72upvoted (1.00%) @skysparrow / gpio-rasberry-pi-gpio
2018/01/20 07:07:15
| voter | smarthamster72 |
| author | skysparrow |
| permlink | gpio-rasberry-pi-gpio |
| weight | 100 (1.00%) |
| Transaction Info | Block #19136720/Trx 3124ef05e8a3b2bde7542ea53cd106a2909485dd |
View Raw JSON Data
{
"trx_id": "3124ef05e8a3b2bde7542ea53cd106a2909485dd",
"block": 19136720,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T07:07:15",
"op": [
"vote",
{
"voter": "smarthamster72",
"author": "skysparrow",
"permlink": "gpio-rasberry-pi-gpio",
"weight": 100
}
]
}skysparrowpublished a new post: gpio-rasberry-pi-gpio2018/01/20 07:04:36
skysparrowpublished a new post: gpio-rasberry-pi-gpio
2018/01/20 07:04:36
| parent author | |
| parent permlink | rasberryfi |
| author | skysparrow |
| permlink | gpio-rasberry-pi-gpio |
| title | 라즈베리파이 - gpio 설치 / rasberry pi GPIO |
| body | 1 라즈베리파이의 업데이트 및 업그레이드 sudo apt-get updatesudo apt-get upgrade 2 소스관리툴 git 를 다운로드한다. 오픈소스 https://github.com/WiringPi/WiringPi 의 소스를 체크 sudo apt-get install git-core 3 wiringPi 프로젝트를 다운로드 git clone git://git.drogon.net/wiringPi 4 빌드 및 설치 cd wiringPi ./build 5 설치가 확인 gpio -v gpio readall |
| json metadata | {"tags":["rasberryfi","gpio"],"links":["https://github.com/WiringPi/WiringPi"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19136667/Trx 98069b1ae083d09d2907a6aee0a220d6278af6c6 |
View Raw JSON Data
{
"trx_id": "98069b1ae083d09d2907a6aee0a220d6278af6c6",
"block": 19136667,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T07:04:36",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "rasberryfi",
"author": "skysparrow",
"permlink": "gpio-rasberry-pi-gpio",
"title": "라즈베리파이 - gpio 설치 / rasberry pi GPIO",
"body": "1 라즈베리파이의 업데이트 및 업그레이드\n\nsudo apt-get updatesudo apt-get upgrade\n\n 2 소스관리툴 git 를 다운로드한다.\n\n오픈소스 https://github.com/WiringPi/WiringPi 의 소스를 체크\nsudo apt-get install git-core\n\n\n 3 wiringPi 프로젝트를 다운로드\ngit clone git://git.drogon.net/wiringPi\n\n\n 4 빌드 및 설치\n\ncd wiringPi\n./build\n\n\n 5 설치가 확인\n\ngpio -v gpio readall",
"json_metadata": "{\"tags\":[\"rasberryfi\",\"gpio\"],\"links\":[\"https://github.com/WiringPi/WiringPi\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}skysparrowpublished a new post: rasberry-fi-resolution-option2018/01/20 07:00:30
skysparrowpublished a new post: rasberry-fi-resolution-option
2018/01/20 07:00:30
| parent author | |
| parent permlink | rasberry |
| author | skysparrow |
| permlink | rasberry-fi-resolution-option |
| title | 라즈베리파이 해상도 옵션 / rasberry pi resolution option |
| body | /boot/config.txt hdmi_force_hotplug = 1 hdmi_group = 2 hdmi_mode = 58 # 여기서 해상도를 설정한다 hdmi_drive = 1 ================================================ hdmi_group=2 (DMT) 인 경우: 주의 :최대 해상도는 1920x1200 @60 Hz (reduced blanking) ================================================ hdmi_mode=1 640x350 85 Hz hdmi_mode=2 640x400 85 Hz hdmi_mode=3 720x400 85 Hz hdmi_mode=4 640x480 60 Hz hdmi_mode=5 640x480 72 Hz hdmi_mode=6 640x480 75 Hz hdmi_mode=7 640x480 85 Hz hdmi_mode=8 800x600 56 Hz hdmi_mode=9 800x600 60 Hz hdmi_mode=10 800x600 72 Hz hdmi_mode=11 800x600 75 Hz hdmi_mode=12 800x600 85 Hz hdmi_mode=13 800x600 120 Hz hdmi_mode=14 848x480 60 Hz hdmi_mode=15 1024x768 43 Hz DO NOT USE hdmi_mode=16 1024x768 60 Hz hdmi_mode=17 1024x768 70 Hz hdmi_mode=18 1024x768 75 Hz hdmi_mode=19 1024x768 85 Hz hdmi_mode=20 1024x768 120 Hz hdmi_mode=21 1152x864 75 Hz hdmi_mode=22 1280x768 Reduced blanking hdmi_mode=23 1280x768 60 Hz hdmi_mode=24 1280x768 75 Hz hdmi_mode=25 1280x768 85 Hz hdmi_mode=26 1280x768 120 Hz Reduced blanking hdmi_mode=27 1280x800 Reduced blanking hdmi_mode=28 1280x800 60 Hz hdmi_mode=29 1280x800 75 Hz hdmi_mode=30 1280x800 85 Hz hdmi_mode=31 1280x800 120 Hz Reduced blanking hdmi_mode=32 1280x960 60 Hz hdmi_mode=33 1280x960 85 Hz hdmi_mode=34 1280x960 120 Hz Reduced blanking hdmi_mode=35 1280x1024 60 Hz hdmi_mode=36 1280x1024 75 Hz hdmi_mode=37 1280x1024 85 Hz hdmi_mode=38 1280x1024 120 Hz Reduced blanking hdmi_mode=39 1360x768 60 Hz hdmi_mode=40 1360x768 120 Hz Reduced blanking hdmi_mode=41 1400x1050 Reduced blanking hdmi_mode=42 1400x1050 60 Hz hdmi_mode=43 1400x1050 75 Hz hdmi_mode=44 1400x1050 85 Hz hdmi_mode=45 1400x1050 120 Hz Reduced blanking hdmi_mode=46 1440x900 Reduced blanking hdmi_mode=47 1440x900 60 Hz hdmi_mode=48 1440x900 75 Hz hdmi_mode=49 1440x900 85 Hz hdmi_mode=50 1440x900 120 Hz Reduced blanking hdmi_mode=51 1600x1200 60 Hz hdmi_mode=52 1600x1200 65 Hz hdmi_mode=53 1600x1200 70 Hz hdmi_mode=54 1600x1200 75 Hz hdmi_mode=55 1600x1200 85 Hz hdmi_mode=56 1600x1200 120 Hz Reduced blanking hdmi_mode=57 1680x1050 Reduced blanking hdmi_mode=58 1680x1050 60 Hz hdmi_mode=59 1680x1050 75 Hz hdmi_mode=60 1680x1050 85 Hz hdmi_mode=61 1680x1050 120 Hz Reduced blanking hdmi_mode=62 1792x1344 60 Hz hdmi_mode=63 1792x1344 75 Hz hdmi_mode=64 1792x1344 120 Hz Reduced blanking hdmi_mode=65 1856x1392 60 Hz hdmi_mode=66 1856x1392 75 Hz hdmi_mode=67 1856x1392 120 Hz Reduced blanking hdmi_mode=68 1920x1200 Reduced blanking hdmi_mode=69 1920x1200 60 Hz hdmi_mode=70 1920x1200 75 Hz hdmi_mode=71 1920x1200 85 Hz hdmi_mode=72 1920x1200 120 Hz Reduced blanking hdmi_mode=73 1920x1440 60 Hz hdmi_mode=74 1920x1440 75 Hz hdmi_mode=75 1920x1440 120 Hz Reduced blanking hdmi_mode=76 2560x1600 Reduced blanking hdmi_mode=77 2560x1600 60 Hz hdmi_mode=78 2560x1600 75 Hz hdmi_mode=79 2560x1600 85 Hz hdmi_mode=80 2560x1600 120 Hz Reduced blanking hdmi_mode=81 1366x768 60 Hz hdmi_mode=82 1080p 60 Hz hdmi_mode=83 1600x900 Reduced blanking hdmi_mode=84 2048x1152 Reduced blanking hdmi_mode=85 720p 60 Hz hdmi_mode=86 1366x768 Reduced blanking |
| json metadata | {"tags":["rasberrypi","resolution","option","rasberry"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19136585/Trx 4c4d77951e59cd92d5ae7dd1c5e41bcb838b2199 |
View Raw JSON Data
{
"trx_id": "4c4d77951e59cd92d5ae7dd1c5e41bcb838b2199",
"block": 19136585,
"trx_in_block": 67,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T07:00:30",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "rasberry",
"author": "skysparrow",
"permlink": "rasberry-fi-resolution-option",
"title": "라즈베리파이 해상도 옵션 / rasberry pi resolution option",
"body": "/boot/config.txt \n\n hdmi_force_hotplug = 1\n hdmi_group = 2\n hdmi_mode = 58 # 여기서 해상도를 설정한다\n hdmi_drive = 1 \n\n\n================================================\nhdmi_group=2 (DMT) 인 경우:\n주의 :최대 해상도는 1920x1200 @60 Hz (reduced blanking)\n================================================\n\nhdmi_mode=1 640x350 85 Hz\nhdmi_mode=2 640x400 85 Hz\nhdmi_mode=3 720x400 85 Hz\nhdmi_mode=4 640x480 60 Hz\nhdmi_mode=5 640x480 72 Hz\nhdmi_mode=6 640x480 75 Hz\nhdmi_mode=7 640x480 85 Hz\nhdmi_mode=8 800x600 56 Hz\nhdmi_mode=9 800x600 60 Hz\nhdmi_mode=10 800x600 72 Hz\nhdmi_mode=11 800x600 75 Hz\nhdmi_mode=12 800x600 85 Hz\nhdmi_mode=13 800x600 120 Hz\nhdmi_mode=14 848x480 60 Hz\nhdmi_mode=15 1024x768 43 Hz DO NOT USE\nhdmi_mode=16 1024x768 60 Hz\nhdmi_mode=17 1024x768 70 Hz\nhdmi_mode=18 1024x768 75 Hz\nhdmi_mode=19 1024x768 85 Hz\nhdmi_mode=20 1024x768 120 Hz\nhdmi_mode=21 1152x864 75 Hz\nhdmi_mode=22 1280x768 Reduced blanking\nhdmi_mode=23 1280x768 60 Hz\nhdmi_mode=24 1280x768 75 Hz\nhdmi_mode=25 1280x768 85 Hz\nhdmi_mode=26 1280x768 120 Hz Reduced blanking\nhdmi_mode=27 1280x800 Reduced blanking\nhdmi_mode=28 1280x800 60 Hz \nhdmi_mode=29 1280x800 75 Hz \nhdmi_mode=30 1280x800 85 Hz \nhdmi_mode=31 1280x800 120 Hz Reduced blanking\nhdmi_mode=32 1280x960 60 Hz \nhdmi_mode=33 1280x960 85 Hz \nhdmi_mode=34 1280x960 120 Hz Reduced blanking\nhdmi_mode=35 1280x1024 60 Hz \nhdmi_mode=36 1280x1024 75 Hz \nhdmi_mode=37 1280x1024 85 Hz \nhdmi_mode=38 1280x1024 120 Hz Reduced blanking\nhdmi_mode=39 1360x768 60 Hz \nhdmi_mode=40 1360x768 120 Hz Reduced blanking\nhdmi_mode=41 1400x1050 Reduced blanking\nhdmi_mode=42 1400x1050 60 Hz \nhdmi_mode=43 1400x1050 75 Hz \nhdmi_mode=44 1400x1050 85 Hz \nhdmi_mode=45 1400x1050 120 Hz Reduced blanking\nhdmi_mode=46 1440x900 Reduced blanking\nhdmi_mode=47 1440x900 60 Hz \nhdmi_mode=48 1440x900 75 Hz \nhdmi_mode=49 1440x900 85 Hz \nhdmi_mode=50 1440x900 120 Hz Reduced blanking\nhdmi_mode=51 1600x1200 60 Hz \nhdmi_mode=52 1600x1200 65 Hz \nhdmi_mode=53 1600x1200 70 Hz \nhdmi_mode=54 1600x1200 75 Hz \nhdmi_mode=55 1600x1200 85 Hz \nhdmi_mode=56 1600x1200 120 Hz Reduced blanking\nhdmi_mode=57 1680x1050 Reduced blanking\nhdmi_mode=58 1680x1050 60 Hz \nhdmi_mode=59 1680x1050 75 Hz \nhdmi_mode=60 1680x1050 85 Hz \nhdmi_mode=61 1680x1050 120 Hz Reduced blanking\nhdmi_mode=62 1792x1344 60 Hz \nhdmi_mode=63 1792x1344 75 Hz \nhdmi_mode=64 1792x1344 120 Hz Reduced blanking\nhdmi_mode=65 1856x1392 60 Hz \nhdmi_mode=66 1856x1392 75 Hz \nhdmi_mode=67 1856x1392 120 Hz Reduced blanking\nhdmi_mode=68 1920x1200 Reduced blanking\nhdmi_mode=69 1920x1200 60 Hz \nhdmi_mode=70 1920x1200 75 Hz \nhdmi_mode=71 1920x1200 85 Hz \nhdmi_mode=72 1920x1200 120 Hz Reduced blanking\nhdmi_mode=73 1920x1440 60 Hz \nhdmi_mode=74 1920x1440 75 Hz \nhdmi_mode=75 1920x1440 120 Hz Reduced blanking\nhdmi_mode=76 2560x1600 Reduced blanking\nhdmi_mode=77 2560x1600 60 Hz \nhdmi_mode=78 2560x1600 75 Hz \nhdmi_mode=79 2560x1600 85 Hz \nhdmi_mode=80 2560x1600 120 Hz Reduced blanking\nhdmi_mode=81 1366x768 60 Hz \nhdmi_mode=82 1080p 60 Hz \nhdmi_mode=83 1600x900 Reduced blanking\nhdmi_mode=84 2048x1152 Reduced blanking\nhdmi_mode=85 720p 60 Hz \nhdmi_mode=86 1366x768 Reduced blanking",
"json_metadata": "{\"tags\":[\"rasberrypi\",\"resolution\",\"option\",\"rasberry\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}smarthamster72upvoted (1.00%) @skysparrow / apache2-cgi2018/01/20 06:59:21
smarthamster72upvoted (1.00%) @skysparrow / apache2-cgi
2018/01/20 06:59:21
| voter | smarthamster72 |
| author | skysparrow |
| permlink | apache2-cgi |
| weight | 100 (1.00%) |
| Transaction Info | Block #19136562/Trx f0f01d6637c5cf2a483139499ed33c15f8ce1c12 |
View Raw JSON Data
{
"trx_id": "f0f01d6637c5cf2a483139499ed33c15f8ce1c12",
"block": 19136562,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T06:59:21",
"op": [
"vote",
{
"voter": "smarthamster72",
"author": "skysparrow",
"permlink": "apache2-cgi",
"weight": 100
}
]
}skysparrowpublished a new post: python-tg9e2018/01/20 06:58:18
skysparrowpublished a new post: python-tg9e
2018/01/20 06:58:18
| parent author | |
| parent permlink | tg9e |
| author | skysparrow |
| permlink | python-tg9e |
| title | python TG9e 서버모터 구동 |
| body | 부품 TG9e 서버모터 http://icarusx.com/icarusx/upload/app/20140917/MIDDLE/20140917020118_app.jpg http://icarusx.com/icarusx/upload/app/20140917/LARGE/20140917020126_app.jpg 여러 가지 연결해둔 상태라 참고만. 해당 TF9e 서버모터는 3개 핀을 이용 전선이 위로/모터날개가 위에서 보이는 방향을 기준으로 GND,VCC,GPIO Pin 순으로 연결 별도 노이즈에 대해 주워들은바로 4.7k옴 을 +,Gpio 연결선에 추가 또는 Vcc,Gnd 에 캐패시터 를 연결 하여 노이즈를 제거한다함 개요 파이썬을 통해 코딩 TG9e 서버모터 2개를 연결후 전원을 인가. 주의할점은.. 서버모터를 핸들링 하지않는 상태에서 GPIO.setup , 전원인가시 별도의 노이즈 필터링 처리를 하지않은경우. 전력소모 또는 구동되지 않는 상태에서 모터에 부가되는 노이즈로 지지직거림 때문에 해당 코딩은 서버모터를 제어시 GPIO에 대한 setup 후 모터를 구동 소스 #!/usr/bin/env python # -*- coding: utf-8 -*- import RPi.GPIO as GPIO import time GPIO.setmode(GPIO.BCM) servoHz = 50 servo1 = 17 servo2 = 27 #서보 번호 servoChk = input("Please Servo Number 1 or 2 ") if servoChk == 1: servoNum = servo1 elif servoChk == 2: servoNum = servo2 #서보회전값 servoVal = input("Please Rotate Number - Now %d Hz / Now 5, Min 1, Max 13 " % (servoHz)) if servoVal >= 0: GPIO.setup(servoNum, GPIO.OUT) pServo = GPIO.PWM(servoNum,servoHz) pServo.start(5) #pServo.ChangeFrequency(servoHz) pServo.ChangeDutyCycle(servoVal) time.sleep(0.1) # for dc in range(0, 101, 5): # print dc # pServo.ChangeDutyCycle(dc) # time.sleep(0.1) pServo.stop() else: GPIO.cleanup() pServo.ChangeFrequency(50) pServo.stop() GPIO.cleanup() |
| json metadata | {"tags":["tg9e","python"],"image":["http://icarusx.com/icarusx/upload/app/20140917/MIDDLE/20140917020118_app.jpg","http://icarusx.com/icarusx/upload/app/20140917/LARGE/20140917020126_app.jpg"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19136541/Trx cb4f3eec9c8a783ff5cf302461b7aab512fe8b64 |
View Raw JSON Data
{
"trx_id": "cb4f3eec9c8a783ff5cf302461b7aab512fe8b64",
"block": 19136541,
"trx_in_block": 59,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T06:58:18",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "tg9e",
"author": "skysparrow",
"permlink": "python-tg9e",
"title": "python TG9e 서버모터 구동",
"body": "부품\n\n TG9e 서버모터\n\n\nhttp://icarusx.com/icarusx/upload/app/20140917/MIDDLE/20140917020118_app.jpg\n\nhttp://icarusx.com/icarusx/upload/app/20140917/LARGE/20140917020126_app.jpg\n\n 여러 가지 연결해둔 상태라 참고만.\n\n 해당 TF9e 서버모터는 3개 핀을 이용\n\n 전선이 위로/모터날개가 위에서 보이는 방향을 기준으로\n\n GND,VCC,GPIO Pin 순으로 연결\n\n 별도 노이즈에 대해 주워들은바로 4.7k옴 을 +,Gpio 연결선에 추가\n\n 또는 Vcc,Gnd 에 캐패시터 를 연결 하여 노이즈를 제거한다함\n\n\n\n\n개요\n\n 파이썬을 통해 코딩\n\n TG9e 서버모터 2개를 연결후 전원을 인가.\n\n 주의할점은.. 서버모터를 핸들링 하지않는 상태에서 GPIO.setup , 전원인가시\n 별도의 노이즈 필터링 처리를 하지않은경우.\n\n 전력소모 또는 구동되지 않는 상태에서 모터에 부가되는 노이즈로 지지직거림\n\n 때문에 해당 코딩은 서버모터를 제어시 GPIO에 대한 setup 후 모터를 구동\n\n\n소스\n\n #!/usr/bin/env python\n # -*- coding: utf-8 -*-\n\n import RPi.GPIO as GPIO\n import time\n\n\n GPIO.setmode(GPIO.BCM)\n\n\n servoHz = 50\n servo1 = 17\n servo2 = 27\n\n\n #서보 번호\n servoChk = input(\"Please Servo Number 1 or 2 \")\n if servoChk == 1:\n servoNum = servo1\n elif servoChk == 2:\n servoNum = servo2\n\n\n #서보회전값\n servoVal = input(\"Please Rotate Number - Now %d Hz / Now 5, Min 1, Max 13 \" % (servoHz))\n if servoVal >= 0:\n\n GPIO.setup(servoNum, GPIO.OUT)\n pServo = GPIO.PWM(servoNum,servoHz)\n pServo.start(5)\n\n #pServo.ChangeFrequency(servoHz)\n\n pServo.ChangeDutyCycle(servoVal)\n time.sleep(0.1)\n\n\n # for dc in range(0, 101, 5):\n # print dc\n # pServo.ChangeDutyCycle(dc)\n # time.sleep(0.1)\n\n\n pServo.stop()\n else:\n GPIO.cleanup()\n\n\n pServo.ChangeFrequency(50)\n pServo.stop()\n\n GPIO.cleanup()",
"json_metadata": "{\"tags\":[\"tg9e\",\"python\"],\"image\":[\"http://icarusx.com/icarusx/upload/app/20140917/MIDDLE/20140917020118_app.jpg\",\"http://icarusx.com/icarusx/upload/app/20140917/LARGE/20140917020126_app.jpg\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}skysparrowpublished a new post: apache2-cgi2018/01/20 06:53:03
skysparrowpublished a new post: apache2-cgi
2018/01/20 06:53:03
| parent author | |
| parent permlink | apache |
| author | skysparrow |
| permlink | apache2-cgi |
| title | Apache2 서버에 CGI 셋팅 |
| body | mkdir /var/cgi-bin and create a file called /var/cgi-bin/echo.pl with the following content: #!/usr/bin/perl use strict; use warnings; print qq(Content-type: text/plain ); print "hi "; chomd +x /var/cgi-bin/echo.pl # /var/cgi-bin/echo.pl Content-type: text/plain hi Apache /etc/apache2/sites-enabled/000-default.conf <VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 와 같은 형식에 내부에 아래 내용을 추가 ScriptAlias /cgi-bin/ /var/cgi-bin/ <Directory "/var/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Require all granted </Directory> CGI 모듈 활성화 # ls -l /etc/apache2/mods-enabled/ | grep cgi # ls -l /etc/apache2/mods-available/ | grep cgi -rw-r--r-- 1 root root 115 Jul 20 2013 cgid.conf -rw-r--r-- 1 root root 60 Jul 20 2013 cgid.load -rw-r--r-- 1 root root 58 Jul 20 2013 cgi.load -rw-r--r-- 1 root root 89 Jul 20 2013 proxy_fcgi.load -rw-r--r-- 1 root root 89 Jul 20 2013 proxy_scgi.load CGI 모듈 링크 # ln -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/ # ln -s /etc/apache2/mods-available/cgid.conf /etc/apache2/mods-enabled/ # ls -l /etc/apache2/mods-enabled/ | grep cgi lrwxrwxrwx 1 root root 37 Mar 19 14:39 cgid.conf -> /etc/apache2/mods-available/cgid.conf lrwxrwxrwx 1 root root 37 Mar 19 14:39 cgid.load -> /etc/apache2/mods-available/cgid.load 서비스 재 시작 # service apache2 reload |
| json metadata | {"tags":["apache","server","cgi","setting"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19136436/Trx c2cffd610e039561b2c1929997affe79ec444ac9 |
View Raw JSON Data
{
"trx_id": "c2cffd610e039561b2c1929997affe79ec444ac9",
"block": 19136436,
"trx_in_block": 38,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T06:53:03",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "apache",
"author": "skysparrow",
"permlink": "apache2-cgi",
"title": "Apache2 서버에 CGI 셋팅",
"body": "mkdir /var/cgi-bin\n\n\n\nand create a file called /var/cgi-bin/echo.pl with the following content:\n\n\n#!/usr/bin/perl\nuse strict;\nuse warnings;\nprint qq(Content-type: text/plain ); \nprint \"hi \";\n\n\n\nchomd +x /var/cgi-bin/echo.pl\n# /var/cgi-bin/echo.pl\nContent-type: text/plain\n\nhi\n\n\n\n\nApache /etc/apache2/sites-enabled/000-default.conf\n\n\n<VirtualHost *:80>\n ServerAdmin webmaster@localhost\n DocumentRoot /var/www\n\n ErrorLog ${APACHE_LOG_DIR}/error.log\n CustomLog ${APACHE_LOG_DIR}/access.log combined\n</VirtualHost>\n\n와 같은 형식에 내부에 아래 내용을 추가\n ScriptAlias /cgi-bin/ /var/cgi-bin/\n <Directory \"/var/cgi-bin\">\n AllowOverride None\n Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch\n Require all granted\n </Directory>\n \n \n \n \nCGI 모듈 활성화\n\n# ls -l /etc/apache2/mods-enabled/ | grep cgi\n# ls -l /etc/apache2/mods-available/ | grep cgi\n-rw-r--r-- 1 root root 115 Jul 20 2013 cgid.conf\n-rw-r--r-- 1 root root 60 Jul 20 2013 cgid.load\n-rw-r--r-- 1 root root 58 Jul 20 2013 cgi.load\n-rw-r--r-- 1 root root 89 Jul 20 2013 proxy_fcgi.load\n-rw-r--r-- 1 root root 89 Jul 20 2013 proxy_scgi.load\n\n\n\n\nCGI 모듈 링크\n\n# ln -s /etc/apache2/mods-available/cgid.load /etc/apache2/mods-enabled/\n# ln -s /etc/apache2/mods-available/cgid.conf /etc/apache2/mods-enabled/\n\n# ls -l /etc/apache2/mods-enabled/ | grep cgi\nlrwxrwxrwx 1 root root 37 Mar 19 14:39 cgid.conf -> /etc/apache2/mods-available/cgid.conf\nlrwxrwxrwx 1 root root 37 Mar 19 14:39 cgid.load -> /etc/apache2/mods-available/cgid.load\n \n\n\n\n서비스 재 시작\n\n# service apache2 reload",
"json_metadata": "{\"tags\":[\"apache\",\"server\",\"cgi\",\"setting\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}skysparrowpublished a new post: l3g4200d2018/01/20 06:46:54
skysparrowpublished a new post: l3g4200d
2018/01/20 06:46:54
| parent author | |
| parent permlink | lg34200d |
| author | skysparrow |
| permlink | l3g4200d |
| title | 파이썬 소켓통신 <=> L3G4200D 자이로센서 값 받기 |
| body | 파이썬 소켓통신 <=> L3G4200D 자이로센서 값 받기 1. 자이로센서를 라즈베리 파이에 달아서 로컬에서 값을 받으려 할경우 쓰레드에서 제한적일수있다. 2. 별로 소켓통신을 통해 자이로센서의 주기적 값을 받아오도록 한다. 3. 서버+클라이언트 모두 아이피,포트를 마추어 실행하면되며 서버쪽 출력은 접근정보 만 나타남. 클라이언트 접근후 라즈베리 파이에 연결된 자이로센서의 움직임 값이 출력됨. L3G4200D 자이로센서 강좌 : http://icarusx.com/icarusx/index.php?BOARD=icarusx_raspberry#stMode=VIEW&stPage=1&stIdx=2937 ####################################### # 서버 + 자이로센서 # 파일명 : p_gryo_socket_s.py # 실 행 : p_gryo_socket_s.py 아이피 포트 ####################################### #!/usr/bin/python from socket import * from time import ctime from time import sleep #import smbus to access i2c port import smbus import string import sys #converts 16 bit two"s compliment reading to signed int def getSignedNumber(number): if number & (1 << 15): return number | ~65535 else: return number & 65535 i2c_bus=smbus.SMBus(1) #open /dev/i2c-1 i2c_address=0x69 #i2c slave address of the L3G4200D i2c_bus.write_byte_data(i2c_address,0x20,0x0F) #normal mode and all axes on to control reg1 i2c_bus.write_byte_data(i2c_address,0x23,0x20) #full 2000dps to control reg4 HOST = sys.argv[1] PORT = int(sys.argv[2]) BUFSIZ = 1024 ADDR = (HOST, PORT) tcpSerSock = socket(AF_INET, SOCK_STREAM) tcpSerSock.bind(ADDR) tcpSerSock.listen(5) while True: print "waiting for connection..." tcpCliSock, addr = tcpSerSock.accept() print "...connected from:", addr while True: i2c_bus.write_byte(i2c_address,0x28) X_L = i2c_bus.read_byte(i2c_address) i2c_bus.write_byte(i2c_address,0x29) X_H = i2c_bus.read_byte(i2c_address) X = X_H << 8 | X_L i2c_bus.write_byte(i2c_address,0x2A) Y_L = i2c_bus.read_byte(i2c_address) i2c_bus.write_byte(i2c_address,0x2B) Y_H = i2c_bus.read_byte(i2c_address) Y = Y_H << 8 | Y_L i2c_bus.write_byte(i2c_address,0x2C) Z_L = i2c_bus.read_byte(i2c_address) i2c_bus.write_byte(i2c_address,0x2D) Z_H = i2c_bus.read_byte(i2c_address) Z = Z_H << 8 | Z_L X = getSignedNumber(X) Y = getSignedNumber(Y) Z = getSignedNumber(Z) # tcpCliSock.send("%s,%s,%s" % (string.rjust(`X`, 10),string.rjust(`Y`, 10),string.rjust(`Z`, 10))) tcpCliSock.send("%s,%s,%s" % (X,Y,Z)) sleep(0.02) tcpCliSock.close() tcpSerSock.close() ####################################### # 클라이언트 # 파일명 : p_gryo_socket_c.py # 실 행 : p_gryo_socket_c.py 아이피 포트 ####################################### #!/usr/bin/env python from socket import * import sys HOST = sys.argv[1] PORT = int(sys.argv[2]) BUFSIZ = 1024 ADDR = (HOST, PORT) tcpCliSock = socket(AF_INET, SOCK_STREAM) tcpCliSock.connect(ADDR) while True: data = tcpCliSock.recv(BUFSIZ) print data," " tcpCliSock.close() |
| json metadata | {"tags":["lg34200d","python","import","converts","open"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19136313/Trx a40d5eacbcdff15b0ca136253a27761c64688924 |
View Raw JSON Data
{
"trx_id": "a40d5eacbcdff15b0ca136253a27761c64688924",
"block": 19136313,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T06:46:54",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "lg34200d",
"author": "skysparrow",
"permlink": "l3g4200d",
"title": "파이썬 소켓통신 <=> L3G4200D 자이로센서 값 받기",
"body": "파이썬 소켓통신 <=> L3G4200D 자이로센서 값 받기\n\n1. 자이로센서를 라즈베리 파이에 달아서 로컬에서 값을 받으려 할경우 쓰레드에서 제한적일수있다.\n2. 별로 소켓통신을 통해 자이로센서의 주기적 값을 받아오도록 한다.\n3. 서버+클라이언트 모두 아이피,포트를 마추어 실행하면되며\n 서버쪽 출력은 접근정보 만 나타남.\n\n 클라이언트 접근후 라즈베리 파이에 연결된 자이로센서의 움직임 값이 출력됨.\n\n L3G4200D 자이로센서 강좌 :\n\n http://icarusx.com/icarusx/index.php?BOARD=icarusx_raspberry#stMode=VIEW&stPage=1&stIdx=2937\n\n\t\n\n\n#######################################\n# 서버 + 자이로센서 \n# 파일명 : p_gryo_socket_s.py\n# 실 행 : p_gryo_socket_s.py 아이피 포트\n#######################################\n\n#!/usr/bin/python\n\nfrom socket import *\nfrom time import ctime\nfrom time import sleep\n#import smbus to access i2c port\nimport smbus\nimport string\nimport sys\n\n\n#converts 16 bit two\"s compliment reading to signed int\ndef getSignedNumber(number):\n if number & (1 << 15):\n return number | ~65535\n else:\n return number & 65535\n\n\ni2c_bus=smbus.SMBus(1) #open /dev/i2c-1\ni2c_address=0x69 #i2c slave address of the L3G4200D\ni2c_bus.write_byte_data(i2c_address,0x20,0x0F) #normal mode and all axes on to control reg1\ni2c_bus.write_byte_data(i2c_address,0x23,0x20) #full 2000dps to control reg4\n\n\nHOST = sys.argv[1]\nPORT = int(sys.argv[2])\nBUFSIZ = 1024\nADDR = (HOST, PORT)\n \ntcpSerSock = socket(AF_INET, SOCK_STREAM)\ntcpSerSock.bind(ADDR)\ntcpSerSock.listen(5)\n\n\nwhile True:\n print \"waiting for connection...\"\n tcpCliSock, addr = tcpSerSock.accept()\n print \"...connected from:\", addr\n\n\n while True:\n i2c_bus.write_byte(i2c_address,0x28)\n X_L = i2c_bus.read_byte(i2c_address)\n i2c_bus.write_byte(i2c_address,0x29)\n X_H = i2c_bus.read_byte(i2c_address)\n X = X_H << 8 | X_L\n\n i2c_bus.write_byte(i2c_address,0x2A)\n Y_L = i2c_bus.read_byte(i2c_address)\n i2c_bus.write_byte(i2c_address,0x2B)\n Y_H = i2c_bus.read_byte(i2c_address)\n Y = Y_H << 8 | Y_L\n\n i2c_bus.write_byte(i2c_address,0x2C)\n Z_L = i2c_bus.read_byte(i2c_address)\n i2c_bus.write_byte(i2c_address,0x2D)\n Z_H = i2c_bus.read_byte(i2c_address)\n Z = Z_H << 8 | Z_L\n\n X = getSignedNumber(X)\n Y = getSignedNumber(Y)\n Z = getSignedNumber(Z)\n\n# tcpCliSock.send(\"%s,%s,%s\" % (string.rjust(`X`, 10),string.rjust(`Y`, 10),string.rjust(`Z`, 10)))\n tcpCliSock.send(\"%s,%s,%s\" % (X,Y,Z))\n sleep(0.02)\n\n\n tcpCliSock.close()\ntcpSerSock.close()\n\n\n\n\n\n\n\n#######################################\n# 클라이언트 \n# 파일명 : p_gryo_socket_c.py\n# 실 행 : p_gryo_socket_c.py 아이피 포트\n#######################################\n\n#!/usr/bin/env python\n \nfrom socket import *\nimport sys\n\nHOST = sys.argv[1]\nPORT = int(sys.argv[2])\nBUFSIZ = 1024\nADDR = (HOST, PORT)\n\ntcpCliSock = socket(AF_INET, SOCK_STREAM)\ntcpCliSock.connect(ADDR)\n\nwhile True:\n data = tcpCliSock.recv(BUFSIZ)\n print data,\" \"\n\ntcpCliSock.close()",
"json_metadata": "{\"tags\":[\"lg34200d\",\"python\",\"import\",\"converts\",\"open\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}skysparrowpublished a new post: gps-module-gy-gps6mv2-neo-6m-gps2018/01/20 06:41:24
skysparrowpublished a new post: gps-module-gy-gps6mv2-neo-6m-gps
2018/01/20 06:41:24
| parent author | |
| parent permlink | neo6m |
| author | skysparrow |
| permlink | gps-module-gy-gps6mv2-neo-6m-gps |
| title | [검증완료] GPS-Module GY-GPS6MV2 셋팅 / NEO-6M / GPS 데이터 뽑아쓰기 |
| body | http://icarusx.com/icarusx/upload/board/20150613/20150613151158_00531_raspberry_pi_neo6m_gpsmodul.jpg 주의! 건물내에서 실행하면, 전혀 연결이나 데이터값이 들어오지않는다. 필히! 건물외부에서 테스트 하길 바라며. 해당 GPS모듈의 뒷판 과 안테나를 땜질해도 무관하다 라즈베리파이 raspi-config 를 통해서 시리얼 통신을 꼭 꺼야한다 부팅후 - GPS가 잡히지 않는경우 - 이부분을 찾는데 고생좀했다. 1. stty -F /dev/ttyAMA0 9600 명령후 확인해본다 2. gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 프로세스를 다시 실행해보고 확인한다 (기존프로세스는 죽여야함) ================================ 스펙 ================================ UBlox Brand NEO-6M EEPROM to maintain user settings Compatible with AMP2 and APM2.5 Operating Voltage: 5V Baud Rate: 9600 Brand new in antistatic bag. Dimensions: Antenna: 9x25x25mm Module/Encoder: 4x26x36mm Weight: 18g 4 Mounting holes to suit M3 Bolts ========================================== 공통 GPS 셋팅 ========================================== 참고 : http://www.dominicwormald.co.uk/2015/03/07/gps-module-gy-gps6mv2/ 참고 : http://www.jamesrobertson.eu/blog/2014/jul/02/using-a-raspberry-pi-with-a-ublox-flight-cont.html 라즈베리파이 raspi-config > 시리얼통신 중지 핀배열 Raspberry Pi - 5v -> GPS Module - VIN Raspberry Pi - GND -> GPS Module - GND Raspberry Pi - Tx -> GPS Module - Rx Raspberry Pi - Rx -> GPS Module - Tx ========================================== GPS 셋팅 ========================================== /boot/cmdline.txt 삭제 - GPIO 로 해당 속도가 구동않됨 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 /etc/inittab 비활성화 #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 /etc/default/gpsd # Default settings for gpsd. # Please do not edit this file directly - use `dpkg-reconfigure gpsd" to # change the options. START_DAEMON="true" GPSD_OPTIONS="-n -G" DEVICES="/dev/ttyAMA0" USBAUTO="false" GPSD_SOCKET="/var/run/gpsd.sock" 설치 sudo apt-get install gpsd gpsd-clients python-gps sudo apt-get install minicom 설치 gps 셋팅 *** 실제 이용시 stty -F /dev/ttyAMA0 9600 명령을 사용함에 셋팅은 하지 않아도 무관한듯 **** minicom -s 메뉴에 따라 gps의 옵션을 지정 1. Serial port setup A. Serial Device (데몬지정) : /dev/ttyAMA0 E. Bps/Par/Bits (속도지정) : 115200 2. Save setup ad dfl 3. Exit 4. reboot 부팅시 옵션 - /etc/default/gpsd 에서 옵션을 지정해주어도 정상적인 구동이 되지않는경우 1. stty -F /dev/ttyAMA0 9600 후 확인 2. 프로세스 gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 를 죽이고 gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 다시실행 후 확인 1,2 방법중 구동되는 방법을 부팅시 처리한다. /etc/rc.local sudo stty -F /dev/ttyAMA0 9600 라인추가 하였더니 구동않됨 sh 또는 python 으로 우회해서 실행해야한다. python os 로 실행 -> 파이썬을 /etc/etc.rc.local 에서 실행 import os os.system("sudo stty -F /dev/ttyAMA0 9600 &") 체크 cgps 를 통한 GPS상태체크 sudo cgps -s gpsmon 를 통한 GPS상태체크 sudo gpsmon gpsd 데몬실행 gps 모듈은 디바이스 명칭이 ttyAMA0 이며 반드시 모듈과의 연동속도를 지정해주어야 한다. 이제품은 38400 baud rate가 기본 속도이다 minicom -b 9600 -o -D /dev/ttyAMA0 sudo gpsd /dev/ttyAMA0 -b "B=9600" -F /var/run/gpsd.sock ========================================== webiopi 를통한 GoogleMap 연동 ========================================== git clone https://github.com/rasplay/googleMapGPS.git cd googleMapGPS Gpsreceive.py : gpsd 에서 데이타를 받아 webiopi Server로 송신한다. index.html : 웹화면으로 표시되는 메인 화면이다. webiopi_script.py : 웹서버에서 참고하는 script 이다. /etc/webiopi/config myscript = /home/pi/googleMapGPS/webiopi_script.py doc-root = /home/pi/googleMapGPS 재시작 sudo service webiopi restart 클라이언트 구동 sudo python ./Gpsreceive.py 웹기반 구글맵 정보 http://IP:8000 ================= 추가팁 ================= UART 인 경우 $ sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock 단, Ublox NEO-6/7 GPS 모듈인 경우 속도 설정 필요 $ sudo gpsd /dev/ttyAMA0 -b “B=9600” -F /var/run/gpsd.sock 부팅 시에 자동으로 실행하도록 설정하려면 dpkg-reconfigure gpsd 명령으로 설정하거나 /etc/default/gpsd 파일을 편집하여 다음과 비슷한 내용을 추가하면 된다. GPSD_OPTIONS=”/dev/AMA0 -b ”B=9600”” ====================================================== GPS 데이터 뽑아쓰기 ====================================================== 참고 : https://bigdanzblog.wordpress.com/2015/01/18/connecting-u-blox-neo-6m-gps-to-raspberry-pi/ sudo cat /dev/ttyAMA0 gpspipe -w -n 30 | grep -m 1 lat JQ 설치 20150616140218_jq1.3.tar.gz curl -O http://stedolan.github.io/jq/download/source/jq-1.3.tar.gz tar xfvz jq-1.3.tar.gz cd jq-1.3 ./configure make make install sudo cp jq /usr/bin gps값 반환 gpspipe -w -n 30 | grep -m 1 lat | jq "." { "climb": 0, "speed": 3.41, "track": 284.94, "epv": 67.16, "epy": 17.333, "epx": 10.884, "alt": -33.3, "class": "TPV", "tag": "GLL", "device": "/dev/ttyAMA0", "mode": 3, "time": "2015-06-16T04:49:37.000Z", "ept": 0.005, "lat": 37.448068667, "lon": 126.695746833 } 경도값만 반환 gpspipe -w -n 30 | grep -m 1 lat | jq ".lat" 00.00000 경위도 반환 gpspipe -w -n 30 | grep -m 1 lat | jq ". | {lat,lon}" { "lon": 000.000000 "lat": 00.0000000 } 또는 gpspipe -w -n 30 | grep -m 1 lat | jq ".lon,.lat" 000.00000 00.000000 echo $(gpspipe -w -n 30 | grep -m 1 lat | jq ".lat") $(gpspipe -w -n 30 | grep -m 1 lat | jq ".lon") 00.000000 000.0000000 echo "http://google.com/maps/@lat="$(gpspipe-n 30 | grep -m 1 lat | jq ".lat")","$(gpspipe -w -n 30 | grep -m 1 lat | jq ".lon") http://google.com/maps/@lat=00.00000,000.00000 |
| json metadata | {"tags":["neo6m","gps","module","gps6mv2","t0"],"image":["http://icarusx.com/icarusx/upload/board/20150613/20150613151158_00531_raspberry_pi_neo6m_gpsmodul.jpg"],"links":["http://www.dominicwormald.co.uk/2015/03/07/gps-module-gy-gps6mv2/","http://www.jamesrobertson.eu/blog/2014/jul/02/using-a-raspberry-pi-with-a-ublox-flight-cont.html","https://github.com/rasplay/googleMapGPS.git","http://IP:8000","https://bigdanzblog.wordpress.com/2015/01/18/connecting-u-blox-neo-6m-gps-to-raspberry-pi/","http://google.com/maps/@lat=","http://google.com/maps/@lat=00.00000,000.00000"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19136204/Trx 153c0adc11e7a6bdbb4eb1593e3ec2db8a523668 |
View Raw JSON Data
{
"trx_id": "153c0adc11e7a6bdbb4eb1593e3ec2db8a523668",
"block": 19136204,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T06:41:24",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "neo6m",
"author": "skysparrow",
"permlink": "gps-module-gy-gps6mv2-neo-6m-gps",
"title": "[검증완료] GPS-Module GY-GPS6MV2 셋팅 / NEO-6M / GPS 데이터 뽑아쓰기",
"body": "http://icarusx.com/icarusx/upload/board/20150613/20150613151158_00531_raspberry_pi_neo6m_gpsmodul.jpg\n\n주의! 건물내에서 실행하면, 전혀 연결이나 데이터값이 들어오지않는다.\n필히! 건물외부에서 테스트 하길 바라며.\n\n해당 GPS모듈의 뒷판 과 안테나를 땜질해도 무관하다\n\n\n라즈베리파이 raspi-config 를 통해서 시리얼 통신을 꼭 꺼야한다\n\n\n부팅후 - GPS가 잡히지 않는경우 - 이부분을 찾는데 고생좀했다.\n\n1. stty -F /dev/ttyAMA0 9600 명령후 확인해본다\n2. gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 프로세스를 다시 실행해보고 확인한다 (기존프로세스는 죽여야함)\n\n\n\n================================\n스펙\n================================\nUBlox Brand NEO-6M\nEEPROM to maintain user settings\nCompatible with AMP2 and APM2.5 \nOperating Voltage: 5V\nBaud Rate: 9600\nBrand new in antistatic bag. \nDimensions:\nAntenna: 9x25x25mm\nModule/Encoder: 4x26x36mm\nWeight: 18g\n4 Mounting holes to suit M3 Bolts\n\n\n\n==========================================\n공통 GPS 셋팅\n==========================================\n참고 : http://www.dominicwormald.co.uk/2015/03/07/gps-module-gy-gps6mv2/\n참고 : http://www.jamesrobertson.eu/blog/2014/jul/02/using-a-raspberry-pi-with-a-ublox-flight-cont.html\n\n\n라즈베리파이 raspi-config > 시리얼통신 중지\n\n핀배열\n Raspberry Pi - 5v -> GPS Module - VIN\n Raspberry Pi - GND -> GPS Module - GND\n Raspberry Pi - Tx -> GPS Module - Rx\n Raspberry Pi - Rx -> GPS Module - Tx\n\n\n\n\n==========================================\nGPS 셋팅\n==========================================\n/boot/cmdline.txt\n 삭제 - GPIO 로 해당 속도가 구동않됨\n console=ttyAMA0,115200 kgdboc=ttyAMA0,115200\n\n/etc/inittab\n 비활성화\n #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100\n\n\n\n/etc/default/gpsd\n # Default settings for gpsd.\n # Please do not edit this file directly - use `dpkg-reconfigure gpsd\" to\n # change the options.\n START_DAEMON=\"true\"\n GPSD_OPTIONS=\"-n -G\"\n DEVICES=\"/dev/ttyAMA0\"\n USBAUTO=\"false\"\n GPSD_SOCKET=\"/var/run/gpsd.sock\"\n\n\n설치\n sudo apt-get install gpsd gpsd-clients python-gps\n sudo apt-get install minicom 설치\n\n\ngps 셋팅 *** 실제 이용시 stty -F /dev/ttyAMA0 9600 명령을 사용함에 셋팅은 하지 않아도 무관한듯 ****\n minicom -s\n 메뉴에 따라 gps의 옵션을 지정\n\n\n 1. Serial port setup\n A. Serial Device (데몬지정) : /dev/ttyAMA0\n E. Bps/Par/Bits (속도지정) : 115200 \n 2. Save setup ad dfl\n 3. Exit\n 4. reboot\n\n\n부팅시 옵션 - /etc/default/gpsd 에서 옵션을 지정해주어도 정상적인 구동이 되지않는경우\n 1. stty -F /dev/ttyAMA0 9600 후 확인\n\n 2. 프로세스 gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 를 죽이고\n gpsd -n -G -F /var/run/gpsd.sock -P /var/run/gpsd.pid /dev/ttyAMA0 다시실행\n 후 확인\n\n 1,2 방법중 구동되는 방법을 부팅시 처리한다.\n\n /etc/rc.local\n sudo stty -F /dev/ttyAMA0 9600 라인추가 하였더니 구동않됨\n\n sh 또는 python 으로 우회해서 실행해야한다.\n\n\n python os 로 실행 -> 파이썬을 /etc/etc.rc.local 에서 실행\n import os\n os.system(\"sudo stty -F /dev/ttyAMA0 9600 &\")\n\n\n\n체크\n cgps 를 통한 GPS상태체크\n sudo cgps -s\n\n gpsmon 를 통한 GPS상태체크\n sudo gpsmon\n\n\n\n\n\n\n\ngpsd 데몬실행\n gps 모듈은 디바이스 명칭이 ttyAMA0 이며\n 반드시 모듈과의 연동속도를 지정해주어야 한다.\n 이제품은 38400 baud rate가 기본 속도이다\n\nminicom -b 9600 -o -D /dev/ttyAMA0\nsudo gpsd /dev/ttyAMA0 -b \"B=9600\" -F /var/run/gpsd.sock\n\n\n\n\n\n==========================================\nwebiopi 를통한 GoogleMap 연동\n==========================================\n\ngit clone https://github.com/rasplay/googleMapGPS.git\n\ncd googleMapGPS\n\nGpsreceive.py : gpsd 에서 데이타를 받아 webiopi Server로 송신한다.\nindex.html : 웹화면으로 표시되는 메인 화면이다.\nwebiopi_script.py : 웹서버에서 참고하는 script 이다.\n\n/etc/webiopi/config\nmyscript = /home/pi/googleMapGPS/webiopi_script.py\ndoc-root = /home/pi/googleMapGPS\n\n\n재시작\nsudo service webiopi restart\n\n클라이언트 구동\nsudo python ./Gpsreceive.py\n\n웹기반 구글맵 정보\nhttp://IP:8000\n\n\n\n\n=================\n추가팁\n=================\nUART 인 경우\n$ sudo gpsd /dev/ttyAMA0 -F /var/run/gpsd.sock\n\n단, Ublox NEO-6/7 GPS 모듈인 경우 속도 설정 필요\n$ sudo gpsd /dev/ttyAMA0 -b “B=9600” -F /var/run/gpsd.sock\n\n부팅 시에 자동으로 실행하도록 설정하려면 dpkg-reconfigure gpsd 명령으로 설정하거나 /etc/default/gpsd 파일을 편집하여 다음과 비슷한 내용을 추가하면 된다.\nGPSD_OPTIONS=”/dev/AMA0 -b ”B=9600””\n\n\n\n\n\n\n\n\n\n\n======================================================\nGPS 데이터 뽑아쓰기\n======================================================\n\n참고 : https://bigdanzblog.wordpress.com/2015/01/18/connecting-u-blox-neo-6m-gps-to-raspberry-pi/\n\nsudo cat /dev/ttyAMA0\n\ngpspipe -w -n 30 | grep -m 1 lat\n\n\nJQ 설치 20150616140218_jq1.3.tar.gz\n\n curl -O http://stedolan.github.io/jq/download/source/jq-1.3.tar.gz\n tar xfvz jq-1.3.tar.gz\n cd jq-1.3\n ./configure\n make\n make install\n sudo cp jq /usr/bin\n\n\n\ngps값 반환\ngpspipe -w -n 30 | grep -m 1 lat | jq \".\"\n{\n \"climb\": 0,\n \"speed\": 3.41,\n \"track\": 284.94,\n \"epv\": 67.16,\n \"epy\": 17.333,\n \"epx\": 10.884,\n \"alt\": -33.3,\n \"class\": \"TPV\",\n \"tag\": \"GLL\",\n \"device\": \"/dev/ttyAMA0\",\n \"mode\": 3,\n \"time\": \"2015-06-16T04:49:37.000Z\",\n \"ept\": 0.005,\n \"lat\": 37.448068667,\n \"lon\": 126.695746833\n}\n\n\n\n경도값만 반환\ngpspipe -w -n 30 | grep -m 1 lat | jq \".lat\"\n00.00000\n\n\n\n\n경위도 반환\ngpspipe -w -n 30 | grep -m 1 lat | jq \". | {lat,lon}\"\n{\n \"lon\": 000.000000\n \"lat\": 00.0000000\n}\n\n또는\n\ngpspipe -w -n 30 | grep -m 1 lat | jq \".lon,.lat\"\n000.00000\n00.000000\n\n\n\n\n\necho $(gpspipe -w -n 30 | grep -m 1 lat | jq \".lat\") $(gpspipe -w -n 30 | grep -m 1 lat | jq \".lon\")\n00.000000 000.0000000\n\n\n\necho \"http://google.com/maps/@lat=\"$(gpspipe-n 30 | grep -m 1 lat | jq \".lat\")\",\"$(gpspipe -w -n 30 | grep -m 1 lat | jq \".lon\")\nhttp://google.com/maps/@lat=00.00000,000.00000",
"json_metadata": "{\"tags\":[\"neo6m\",\"gps\",\"module\",\"gps6mv2\",\"t0\"],\"image\":[\"http://icarusx.com/icarusx/upload/board/20150613/20150613151158_00531_raspberry_pi_neo6m_gpsmodul.jpg\"],\"links\":[\"http://www.dominicwormald.co.uk/2015/03/07/gps-module-gy-gps6mv2/\",\"http://www.jamesrobertson.eu/blog/2014/jul/02/using-a-raspberry-pi-with-a-ublox-flight-cont.html\",\"https://github.com/rasplay/googleMapGPS.git\",\"http://IP:8000\",\"https://bigdanzblog.wordpress.com/2015/01/18/connecting-u-blox-neo-6m-gps-to-raspberry-pi/\",\"http://google.com/maps/@lat=\",\"http://google.com/maps/@lat=00.00000,000.00000\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}skysparrowpublished a new post: rasberry-fi-resolution-option2018/01/20 06:36:18
skysparrowpublished a new post: rasberry-fi-resolution-option
2018/01/20 06:36:18
| parent author | |
| parent permlink | rasberry |
| author | skysparrow |
| permlink | rasberry-fi-resolution-option |
| title | 라즈베리파이 해상도 옵션 / rasberry fi resolution option |
| body | /boot/config.txt hdmi_force_hotplug = 1 hdmi_group = 2 hdmi_mode = 58 # 여기서 해상도를 설정한다 hdmi_drive = 1 ================================================ hdmi_group=2 (DMT) 인 경우: 주의 :최대 해상도는 1920x1200 @60 Hz (reduced blanking) ================================================ hdmi_mode=1 640x350 85 Hz hdmi_mode=2 640x400 85 Hz hdmi_mode=3 720x400 85 Hz hdmi_mode=4 640x480 60 Hz hdmi_mode=5 640x480 72 Hz hdmi_mode=6 640x480 75 Hz hdmi_mode=7 640x480 85 Hz hdmi_mode=8 800x600 56 Hz hdmi_mode=9 800x600 60 Hz hdmi_mode=10 800x600 72 Hz hdmi_mode=11 800x600 75 Hz hdmi_mode=12 800x600 85 Hz hdmi_mode=13 800x600 120 Hz hdmi_mode=14 848x480 60 Hz hdmi_mode=15 1024x768 43 Hz DO NOT USE hdmi_mode=16 1024x768 60 Hz hdmi_mode=17 1024x768 70 Hz hdmi_mode=18 1024x768 75 Hz hdmi_mode=19 1024x768 85 Hz hdmi_mode=20 1024x768 120 Hz hdmi_mode=21 1152x864 75 Hz hdmi_mode=22 1280x768 Reduced blanking hdmi_mode=23 1280x768 60 Hz hdmi_mode=24 1280x768 75 Hz hdmi_mode=25 1280x768 85 Hz hdmi_mode=26 1280x768 120 Hz Reduced blanking hdmi_mode=27 1280x800 Reduced blanking hdmi_mode=28 1280x800 60 Hz hdmi_mode=29 1280x800 75 Hz hdmi_mode=30 1280x800 85 Hz hdmi_mode=31 1280x800 120 Hz Reduced blanking hdmi_mode=32 1280x960 60 Hz hdmi_mode=33 1280x960 85 Hz hdmi_mode=34 1280x960 120 Hz Reduced blanking hdmi_mode=35 1280x1024 60 Hz hdmi_mode=36 1280x1024 75 Hz hdmi_mode=37 1280x1024 85 Hz hdmi_mode=38 1280x1024 120 Hz Reduced blanking hdmi_mode=39 1360x768 60 Hz hdmi_mode=40 1360x768 120 Hz Reduced blanking hdmi_mode=41 1400x1050 Reduced blanking hdmi_mode=42 1400x1050 60 Hz hdmi_mode=43 1400x1050 75 Hz hdmi_mode=44 1400x1050 85 Hz hdmi_mode=45 1400x1050 120 Hz Reduced blanking hdmi_mode=46 1440x900 Reduced blanking hdmi_mode=47 1440x900 60 Hz hdmi_mode=48 1440x900 75 Hz hdmi_mode=49 1440x900 85 Hz hdmi_mode=50 1440x900 120 Hz Reduced blanking hdmi_mode=51 1600x1200 60 Hz hdmi_mode=52 1600x1200 65 Hz hdmi_mode=53 1600x1200 70 Hz hdmi_mode=54 1600x1200 75 Hz hdmi_mode=55 1600x1200 85 Hz hdmi_mode=56 1600x1200 120 Hz Reduced blanking hdmi_mode=57 1680x1050 Reduced blanking hdmi_mode=58 1680x1050 60 Hz hdmi_mode=59 1680x1050 75 Hz hdmi_mode=60 1680x1050 85 Hz hdmi_mode=61 1680x1050 120 Hz Reduced blanking hdmi_mode=62 1792x1344 60 Hz hdmi_mode=63 1792x1344 75 Hz hdmi_mode=64 1792x1344 120 Hz Reduced blanking hdmi_mode=65 1856x1392 60 Hz hdmi_mode=66 1856x1392 75 Hz hdmi_mode=67 1856x1392 120 Hz Reduced blanking hdmi_mode=68 1920x1200 Reduced blanking hdmi_mode=69 1920x1200 60 Hz hdmi_mode=70 1920x1200 75 Hz hdmi_mode=71 1920x1200 85 Hz hdmi_mode=72 1920x1200 120 Hz Reduced blanking hdmi_mode=73 1920x1440 60 Hz hdmi_mode=74 1920x1440 75 Hz hdmi_mode=75 1920x1440 120 Hz Reduced blanking hdmi_mode=76 2560x1600 Reduced blanking hdmi_mode=77 2560x1600 60 Hz hdmi_mode=78 2560x1600 75 Hz hdmi_mode=79 2560x1600 85 Hz hdmi_mode=80 2560x1600 120 Hz Reduced blanking hdmi_mode=81 1366x768 60 Hz hdmi_mode=82 1080p 60 Hz hdmi_mode=83 1600x900 Reduced blanking hdmi_mode=84 2048x1152 Reduced blanking hdmi_mode=85 720p 60 Hz hdmi_mode=86 1366x768 Reduced blanking |
| json metadata | {"tags":["rasberry","fi","resolution","option"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19136102/Trx 6fd19b4da6662ed7197a187bf4d8d92db7de517c |
View Raw JSON Data
{
"trx_id": "6fd19b4da6662ed7197a187bf4d8d92db7de517c",
"block": 19136102,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T06:36:18",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "rasberry",
"author": "skysparrow",
"permlink": "rasberry-fi-resolution-option",
"title": "라즈베리파이 해상도 옵션 / rasberry fi resolution option",
"body": "/boot/config.txt \n\n hdmi_force_hotplug = 1\n hdmi_group = 2\n hdmi_mode = 58 # 여기서 해상도를 설정한다\n hdmi_drive = 1 \n\n\n================================================\nhdmi_group=2 (DMT) 인 경우:\n주의 :최대 해상도는 1920x1200 @60 Hz (reduced blanking)\n================================================\n\nhdmi_mode=1 640x350 85 Hz\nhdmi_mode=2 640x400 85 Hz\nhdmi_mode=3 720x400 85 Hz\nhdmi_mode=4 640x480 60 Hz\nhdmi_mode=5 640x480 72 Hz\nhdmi_mode=6 640x480 75 Hz\nhdmi_mode=7 640x480 85 Hz\nhdmi_mode=8 800x600 56 Hz\nhdmi_mode=9 800x600 60 Hz\nhdmi_mode=10 800x600 72 Hz\nhdmi_mode=11 800x600 75 Hz\nhdmi_mode=12 800x600 85 Hz\nhdmi_mode=13 800x600 120 Hz\nhdmi_mode=14 848x480 60 Hz\nhdmi_mode=15 1024x768 43 Hz DO NOT USE\nhdmi_mode=16 1024x768 60 Hz\nhdmi_mode=17 1024x768 70 Hz\nhdmi_mode=18 1024x768 75 Hz\nhdmi_mode=19 1024x768 85 Hz\nhdmi_mode=20 1024x768 120 Hz\nhdmi_mode=21 1152x864 75 Hz\nhdmi_mode=22 1280x768 Reduced blanking\nhdmi_mode=23 1280x768 60 Hz\nhdmi_mode=24 1280x768 75 Hz\nhdmi_mode=25 1280x768 85 Hz\nhdmi_mode=26 1280x768 120 Hz Reduced blanking\nhdmi_mode=27 1280x800 Reduced blanking\nhdmi_mode=28 1280x800 60 Hz \nhdmi_mode=29 1280x800 75 Hz \nhdmi_mode=30 1280x800 85 Hz \nhdmi_mode=31 1280x800 120 Hz Reduced blanking\nhdmi_mode=32 1280x960 60 Hz \nhdmi_mode=33 1280x960 85 Hz \nhdmi_mode=34 1280x960 120 Hz Reduced blanking\nhdmi_mode=35 1280x1024 60 Hz \nhdmi_mode=36 1280x1024 75 Hz \nhdmi_mode=37 1280x1024 85 Hz \nhdmi_mode=38 1280x1024 120 Hz Reduced blanking\nhdmi_mode=39 1360x768 60 Hz \nhdmi_mode=40 1360x768 120 Hz Reduced blanking\nhdmi_mode=41 1400x1050 Reduced blanking\nhdmi_mode=42 1400x1050 60 Hz \nhdmi_mode=43 1400x1050 75 Hz \nhdmi_mode=44 1400x1050 85 Hz \nhdmi_mode=45 1400x1050 120 Hz Reduced blanking\nhdmi_mode=46 1440x900 Reduced blanking\nhdmi_mode=47 1440x900 60 Hz \nhdmi_mode=48 1440x900 75 Hz \nhdmi_mode=49 1440x900 85 Hz \nhdmi_mode=50 1440x900 120 Hz Reduced blanking\nhdmi_mode=51 1600x1200 60 Hz \nhdmi_mode=52 1600x1200 65 Hz \nhdmi_mode=53 1600x1200 70 Hz \nhdmi_mode=54 1600x1200 75 Hz \nhdmi_mode=55 1600x1200 85 Hz \nhdmi_mode=56 1600x1200 120 Hz Reduced blanking\nhdmi_mode=57 1680x1050 Reduced blanking\nhdmi_mode=58 1680x1050 60 Hz \nhdmi_mode=59 1680x1050 75 Hz \nhdmi_mode=60 1680x1050 85 Hz \nhdmi_mode=61 1680x1050 120 Hz Reduced blanking\nhdmi_mode=62 1792x1344 60 Hz \nhdmi_mode=63 1792x1344 75 Hz \nhdmi_mode=64 1792x1344 120 Hz Reduced blanking\nhdmi_mode=65 1856x1392 60 Hz \nhdmi_mode=66 1856x1392 75 Hz \nhdmi_mode=67 1856x1392 120 Hz Reduced blanking\nhdmi_mode=68 1920x1200 Reduced blanking\nhdmi_mode=69 1920x1200 60 Hz \nhdmi_mode=70 1920x1200 75 Hz \nhdmi_mode=71 1920x1200 85 Hz \nhdmi_mode=72 1920x1200 120 Hz Reduced blanking\nhdmi_mode=73 1920x1440 60 Hz \nhdmi_mode=74 1920x1440 75 Hz \nhdmi_mode=75 1920x1440 120 Hz Reduced blanking\nhdmi_mode=76 2560x1600 Reduced blanking\nhdmi_mode=77 2560x1600 60 Hz \nhdmi_mode=78 2560x1600 75 Hz \nhdmi_mode=79 2560x1600 85 Hz \nhdmi_mode=80 2560x1600 120 Hz Reduced blanking\nhdmi_mode=81 1366x768 60 Hz \nhdmi_mode=82 1080p 60 Hz \nhdmi_mode=83 1600x900 Reduced blanking\nhdmi_mode=84 2048x1152 Reduced blanking\nhdmi_mode=85 720p 60 Hz \nhdmi_mode=86 1366x768 Reduced blanking",
"json_metadata": "{\"tags\":[\"rasberry\",\"fi\",\"resolution\",\"option\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}smarthamster72upvoted (1.00%) @skysparrow / ap-rasberry-pi-for-ap-wifi-ap2018/01/20 06:32:54
smarthamster72upvoted (1.00%) @skysparrow / ap-rasberry-pi-for-ap-wifi-ap
2018/01/20 06:32:54
| voter | smarthamster72 |
| author | skysparrow |
| permlink | ap-rasberry-pi-for-ap-wifi-ap |
| weight | 100 (1.00%) |
| Transaction Info | Block #19136034/Trx a05e962ea0ee8e749167c3c46895434ed184538a |
View Raw JSON Data
{
"trx_id": "a05e962ea0ee8e749167c3c46895434ed184538a",
"block": 19136034,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T06:32:54",
"op": [
"vote",
{
"voter": "smarthamster72",
"author": "skysparrow",
"permlink": "ap-rasberry-pi-for-ap-wifi-ap",
"weight": 100
}
]
}skysparrowpublished a new post: ap-rasberry-pi-for-ap-wifi-ap2018/01/20 06:30:51
skysparrowpublished a new post: ap-rasberry-pi-for-ap-wifi-ap
2018/01/20 06:30:51
| parent author | |
| parent permlink | rasberryfi |
| author | skysparrow |
| permlink | ap-rasberry-pi-for-ap-wifi-ap |
| title | 라즈베리파이를 AP 로 / Rasberry Pi for AP (wifi AP) |
| body | 라즈베리파이를 AP 로 lsusb 실행 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter 관련 장비가 있다면 AP 로 활용이 가능함 1. apt-get 업데이트 sudo apt-get update; sudo apt-get upgrade -y 2. 패키지설치 sudo apt-get install hostapd bridge-utils iw 3. Network 설정 ** 혹시모를일에 대비해 백업 sudo cp /etc/network/interfaces /etc/network/interfaces.bak sudo nano /etc/network/interfaces auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet dhcp iface default inet dhcp # Insert This For Wireless AP Mode auto br0 iface br0 inet dhcp bridge_ports eth0 wlan0 4. hostap 설정 hostapd Package를 설치할때 생성된 hostapd는 rtl8188 driver가 포함되어 있지 않다함 보통은 kernel에 driver가 포함된 hostapd를 사용해야 한다. 해당 소스를 구해서 컴파일 하면 되나, 우리는 이미 떠돌아다니는 컴파일 완료된 파일을 사용하여보자. 5. 기존 hosttapd 백업하기 cd /usr/sbin sudo cp /usr/sbin/hostapd /usr/sbin/hostapd.bak sudo rm -f hostapd 6. 컴파일된 hosttap 다운로드 및 실행 권한 부여 sudo wget http://dl.dropbox.com/u/1663660/hostapd/hostapd sudo chown root:root hostapd sudo chmod 755 hostapd 7. 환경설정 파일 수정 wifi AP 설정 sudo nano /etc/hostapd/hostapd.conf interface=wlan0 driver=rtl871xdrv bridge=br0 ssid=RPiAP "무선AP명" channel=6 wmm_enabled=0 wpa=1 hw_mode=g wpa_passphrase="AP암호" ## Key management algorithms ## wpa_key_mgmt=WPA-PSK ## Set cipher suites (encryption algorithms) ## ## TKIP = Temporal Key Integrity Protocol ## CCMP = AES in Counter mode with CBC-MAC wpa_pairwise=TKIP rsn_pairwise=CCMP ## Shared Key Authentication ## auth_algs=1 ## Accept all MAC address ### macaddr_acl=0 hostap 설정 sudo nano /etc/default/hostapd # Defaults for hostapd initscript # # See /usr/share/doc/hostapd/README.Debian for information about alternative # methods of managing hostapd. # # Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration # file and hostapd will be started during system boot. An example configuration # file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz # DAEMON_CONF=”/etc/hostapd/hostapd.conf” # Additional daemon options to be appended to hostapd command:- # -d show more debug messages (-dd for even more) # -K include key data in debug messages # -t include timestamps in some debug messages # # Note that -B (daemon mode) and -P (pidfile) options are automatically # configured by the init.d script and must not be added to DAEMON_OPTS. # #DAEMON_OPTS=”” 8. 재시작 sudo service networking restart sudo service hostapd restart |
| json metadata | {"tags":["rasberryfi","ap"],"links":["http://dl.dropbox.com/u/1663660/hostapd/hostapd"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #19135993/Trx c702163eb817770d87aa11bd3287187891995d65 |
View Raw JSON Data
{
"trx_id": "c702163eb817770d87aa11bd3287187891995d65",
"block": 19135993,
"trx_in_block": 43,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T06:30:51",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "rasberryfi",
"author": "skysparrow",
"permlink": "ap-rasberry-pi-for-ap-wifi-ap",
"title": "라즈베리파이를 AP 로 / Rasberry Pi for AP (wifi AP)",
"body": "라즈베리파이를 AP 로 \n\n\nlsusb 실행\n\nRealtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter 관련 장비가 있다면\nAP 로 활용이 가능함\n\n\n\n\n1. apt-get 업데이트\n\n sudo apt-get update;\n sudo apt-get upgrade -y\n\n\n2. 패키지설치\n\n sudo apt-get install hostapd bridge-utils iw\n\n3. Network 설정\n\n ** 혹시모를일에 대비해 백업\n sudo cp /etc/network/interfaces /etc/network/interfaces.bak\n\n \n sudo nano /etc/network/interfaces\n\n\n auto lo\n\n iface lo inet loopback\n iface eth0 inet dhcp\n\n allow-hotplug wlan0\n iface wlan0 inet dhcp\n\n iface default inet dhcp\n\n # Insert This For Wireless AP Mode\n auto br0\n iface br0 inet dhcp\n bridge_ports eth0 wlan0\n\n4. hostap 설정\n\n hostapd Package를 설치할때 생성된 \n hostapd는 rtl8188 driver가 포함되어 있지 않다함\n\n 보통은 kernel에 driver가 포함된 hostapd를 사용해야 한다.\n 해당 소스를 구해서 컴파일 하면 되나, \n 우리는 이미 떠돌아다니는 컴파일 완료된 파일을 사용하여보자.\n\n\n5. 기존 hosttapd 백업하기\n\n cd /usr/sbin\n sudo cp /usr/sbin/hostapd /usr/sbin/hostapd.bak\n sudo rm -f hostapd\n\n6. 컴파일된 hosttap 다운로드 및 실행 권한 부여\n\n sudo wget http://dl.dropbox.com/u/1663660/hostapd/hostapd\n sudo chown root:root hostapd\n sudo chmod 755 hostapd\n\n7. 환경설정 파일 수정\n\n wifi AP 설정\n sudo nano /etc/hostapd/hostapd.conf\n\n interface=wlan0\n driver=rtl871xdrv\n bridge=br0\n ssid=RPiAP \"무선AP명\"\n channel=6\n wmm_enabled=0\n wpa=1\n hw_mode=g\n wpa_passphrase=\"AP암호\"\n\n ## Key management algorithms ##\n wpa_key_mgmt=WPA-PSK\n ## Set cipher suites (encryption algorithms) ##\n ## TKIP = Temporal Key Integrity Protocol\n ## CCMP = AES in Counter mode with CBC-MAC\n wpa_pairwise=TKIP\n rsn_pairwise=CCMP\n ## Shared Key Authentication ##\n auth_algs=1\n ## Accept all MAC address ###\n macaddr_acl=0\n\n\n hostap 설정\n sudo nano /etc/default/hostapd\n\n # Defaults for hostapd initscript\n #\n # See /usr/share/doc/hostapd/README.Debian for information about alternative\n # methods of managing hostapd.\n #\n # Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration\n # file and hostapd will be started during system boot. An example configuration\n # file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz\n #\n DAEMON_CONF=”/etc/hostapd/hostapd.conf”\n\n # Additional daemon options to be appended to hostapd command:-\n # -d show more debug messages (-dd for even more)\n # -K include key data in debug messages\n # -t include timestamps in some debug messages\n #\n # Note that -B (daemon mode) and -P (pidfile) options are automatically\n # configured by the init.d script and must not be added to DAEMON_OPTS.\n #\n #DAEMON_OPTS=””\n\n8. 재시작\n\n sudo service networking restart\n sudo service hostapd restart",
"json_metadata": "{\"tags\":[\"rasberryfi\",\"ap\"],\"links\":[\"http://dl.dropbox.com/u/1663660/hostapd/hostapd\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}steemcreated a new account: @skysparrow2018/01/20 04:30:45
steemcreated a new account: @skysparrow
2018/01/20 04:30:45
| fee | 0.500 STEEM |
| delegation | 29700.000000 VESTS |
| creator | steem |
| new account name | skysparrow |
| owner | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM8NqjTaAiSbUzkHDECHnXQNxgjD2L22MwV39Q2rMBFFMdjHEm78",1]]} |
| active | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM5UrfBtvdgBhR3ftha4DWPf6GX9VZyvyJcrqs8nvfBmsK1uBkKS",1]]} |
| posting | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM5Cg1foYwUEZPoZfRdGSgs9xD5vbjb4Y8oRycGMfSfiZy5FQhET",1]]} |
| memo key | STM6eiuZVzTcXxQf8kuB5SWqbCeeeLvkprX8XBCejfv5AEU2qLYaQ |
| json metadata | |
| extensions | [] |
| Transaction Info | Block #19133594/Trx 04b594e0b46c0ba0775da60763ddee6637f6acab |
View Raw JSON Data
{
"trx_id": "04b594e0b46c0ba0775da60763ddee6637f6acab",
"block": 19133594,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-01-20T04:30:45",
"op": [
"account_create_with_delegation",
{
"fee": "0.500 STEEM",
"delegation": "29700.000000 VESTS",
"creator": "steem",
"new_account_name": "skysparrow",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8NqjTaAiSbUzkHDECHnXQNxgjD2L22MwV39Q2rMBFFMdjHEm78",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5UrfBtvdgBhR3ftha4DWPf6GX9VZyvyJcrqs8nvfBmsK1uBkKS",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5Cg1foYwUEZPoZfRdGSgs9xD5vbjb4Y8oRycGMfSfiZy5FQhET",
1
]
]
},
"memo_key": "STM6eiuZVzTcXxQf8kuB5SWqbCeeeLvkprX8XBCejfv5AEU2qLYaQ",
"json_metadata": "",
"extensions": []
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779086247
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779086247
},
"rc_account": {
"account": "skysparrow",
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779086247
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "10164408779"
}
}Account Metadata
| POSTING JSON METADATA | |
| None | |
| JSON METADATA | |
| None |
{
"posting_json_metadata": {},
"json_metadata": {}
}Auth Keys
Owner
Single Signature
Public Keys
STM8NqjTaAiSbUzkHDECHnXQNxgjD2L22MwV39Q2rMBFFMdjHEm781/1
Active
Single Signature
Public Keys
STM5UrfBtvdgBhR3ftha4DWPf6GX9VZyvyJcrqs8nvfBmsK1uBkKS1/1
Posting
Single Signature
Public Keys
STM5Cg1foYwUEZPoZfRdGSgs9xD5vbjb4Y8oRycGMfSfiZy5FQhET1/1
Memo
STM6eiuZVzTcXxQf8kuB5SWqbCeeeLvkprX8XBCejfv5AEU2qLYaQ
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8NqjTaAiSbUzkHDECHnXQNxgjD2L22MwV39Q2rMBFFMdjHEm78",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5UrfBtvdgBhR3ftha4DWPf6GX9VZyvyJcrqs8nvfBmsK1uBkKS",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5Cg1foYwUEZPoZfRdGSgs9xD5vbjb4Y8oRycGMfSfiZy5FQhET",
1
]
]
},
"memo": "STM6eiuZVzTcXxQf8kuB5SWqbCeeeLvkprX8XBCejfv5AEU2qLYaQ"
}Witness Votes
0 / 30
No active witness votes.
[]