Kaynağa Gözat

add mch2022 blog post

Thomas Buck 2 yıl önce
ebeveyn
işleme
a1aa7cb3b3
93 değiştirilmiş dosya ile 247 ekleme ve 0 silme
  1. 222
    0
      input/blog/2022/2022_07_29_MCH2022.md
  2. 25
    0
      input/projects/drinkrobotics.md
  3. BIN
      static/img/mch_app_1.png
  4. BIN
      static/img/mch_app_1_small.png
  5. BIN
      static/img/mch_app_2.png
  6. BIN
      static/img/mch_app_2_small.png
  7. BIN
      static/img/mch_app_3.png
  8. BIN
      static/img/mch_app_3_small.png
  9. BIN
      static/img/mch_app_4.png
  10. BIN
      static/img/mch_app_4_small.png
  11. BIN
      static/img/mch_art.jpg
  12. BIN
      static/img/mch_art_small.jpg
  13. BIN
      static/img/mch_badge_name.jpg
  14. BIN
      static/img/mch_badge_name_small.jpg
  15. BIN
      static/img/mch_badge_sensor.jpg
  16. BIN
      static/img/mch_badge_sensor_small.jpg
  17. BIN
      static/img/mch_bat_signal.jpg
  18. BIN
      static/img/mch_bat_signal_small.jpg
  19. BIN
      static/img/mch_crystals_1.jpg
  20. BIN
      static/img/mch_crystals_1_small.jpg
  21. BIN
      static/img/mch_crystals_2.jpg
  22. BIN
      static/img/mch_crystals_2_small.jpg
  23. BIN
      static/img/mch_datenklo.jpg
  24. BIN
      static/img/mch_datenklo_small.jpg
  25. BIN
      static/img/mch_drone.jpg
  26. BIN
      static/img/mch_drone_small.jpg
  27. BIN
      static/img/mch_feldtelefon.jpg
  28. BIN
      static/img/mch_feldtelefon_small.jpg
  29. BIN
      static/img/mch_food_1.jpg
  30. BIN
      static/img/mch_food_1_small.jpg
  31. BIN
      static/img/mch_food_2.jpg
  32. BIN
      static/img/mch_food_2_small.jpg
  33. BIN
      static/img/mch_food_3.jpg
  34. BIN
      static/img/mch_food_3_small.jpg
  35. BIN
      static/img/mch_food_4.jpg
  36. BIN
      static/img/mch_food_4_small.jpg
  37. BIN
      static/img/mch_frubar_grill_1.jpg
  38. BIN
      static/img/mch_frubar_grill_1_small.jpg
  39. BIN
      static/img/mch_frubar_grill_2.jpg
  40. BIN
      static/img/mch_frubar_grill_2_small.jpg
  41. BIN
      static/img/mch_frubar_night.jpg
  42. BIN
      static/img/mch_frubar_night_small.jpg
  43. BIN
      static/img/mch_frubar_rm.jpg
  44. BIN
      static/img/mch_frubar_rm_small.jpg
  45. BIN
      static/img/mch_lamp_1.jpg
  46. BIN
      static/img/mch_lamp_1_small.jpg
  47. BIN
      static/img/mch_lamp_2.jpg
  48. BIN
      static/img/mch_lamp_2_small.jpg
  49. BIN
      static/img/mch_lamp_3.jpg
  50. BIN
      static/img/mch_lamp_3_small.jpg
  51. BIN
      static/img/mch_night_1.jpg
  52. BIN
      static/img/mch_night_1_small.jpg
  53. BIN
      static/img/mch_night_2.jpg
  54. BIN
      static/img/mch_night_2_small.jpg
  55. BIN
      static/img/mch_night_3.jpg
  56. BIN
      static/img/mch_night_3_small.jpg
  57. BIN
      static/img/mch_pattern.png
  58. BIN
      static/img/mch_pozilei.jpg
  59. BIN
      static/img/mch_pozilei_small.jpg
  60. BIN
      static/img/mch_ring_of_fire.jpg
  61. BIN
      static/img/mch_ring_of_fire_small.jpg
  62. BIN
      static/img/mch_sauna.jpg
  63. BIN
      static/img/mch_sauna_small.jpg
  64. BIN
      static/img/mch_seat.jpg
  65. BIN
      static/img/mch_seat_small.jpg
  66. BIN
      static/img/mch_stage.jpg
  67. BIN
      static/img/mch_stage_small.jpg
  68. BIN
      static/img/mch_tents.jpg
  69. BIN
      static/img/mch_tents_night.jpg
  70. BIN
      static/img/mch_tents_night_small.jpg
  71. BIN
      static/img/mch_tents_small.jpg
  72. BIN
      static/img/mch_text_1.jpg
  73. BIN
      static/img/mch_text_1_small.jpg
  74. BIN
      static/img/mch_text_2.jpg
  75. BIN
      static/img/mch_text_2_small.jpg
  76. BIN
      static/img/mch_text_3.jpg
  77. BIN
      static/img/mch_text_3_small.jpg
  78. BIN
      static/img/mch_text_4.jpg
  79. BIN
      static/img/mch_text_4_small.jpg
  80. BIN
      static/img/mch_text_5.jpg
  81. BIN
      static/img/mch_text_5_small.jpg
  82. BIN
      static/img/mch_top_1.jpg
  83. BIN
      static/img/mch_top_1_small.jpg
  84. BIN
      static/img/mch_top_2.jpg
  85. BIN
      static/img/mch_top_2_small.jpg
  86. BIN
      static/img/mch_ubabot_1.jpg
  87. BIN
      static/img/mch_ubabot_1_small.jpg
  88. BIN
      static/img/mch_ubabot_2.jpg
  89. BIN
      static/img/mch_ubabot_2_small.jpg
  90. BIN
      static/img/mch_ubabot_3.jpg
  91. BIN
      static/img/mch_ubabot_3_small.jpg
  92. BIN
      static/img/mch_ubabot_4.jpg
  93. BIN
      static/img/mch_ubabot_4_small.jpg

+ 222
- 0
input/blog/2022/2022_07_29_MCH2022.md Dosyayı Görüntüle

@@ -0,0 +1,222 @@
1
+title: Blog
2
+post: MCH2022 - May Contain Hackers
3
+description: Nonprofit outdoor hacker camp in the Netherlands
4
+date: 2022-07-29
5
+comments: true
6
+---
7
+
8
+<style>
9
+    body {
10
+        background-image: url("/img/mch_pattern.png");
11
+        background-repeat: repeat;
12
+    }
13
+
14
+    #content {
15
+        margin-top: 20px;
16
+        padding-left: 20px;
17
+        padding-right: 20px;
18
+        border-width: 2px;
19
+        border-style: solid;
20
+        border-radius: 10px;
21
+        border-color: #32CD32;
22
+    }
23
+
24
+    #footer {
25
+        width: fit-content;
26
+        margin: auto;
27
+        margin-top: 10px;
28
+        padding-top: 5px;
29
+        padding-left: 20px;
30
+        padding-right: 20px;
31
+        border-radius: 5px;
32
+    }
33
+
34
+    #content, #footer {
35
+        background-color: #FFFFFF;
36
+    }
37
+
38
+    @media (prefers-color-scheme: dark) {
39
+        #content, #footer {
40
+            background-color: #111111;
41
+        }
42
+    }
43
+</style>
44
+
45
+<!-- ---------------------------------------------------------------------- -->
46
+
47
+From 21st to 26th of July I was at [MCH2022](https://mch2022.org) in Zeewolde.
48
+This was another iteration of the [dutch hacker camps](https://en.wikipedia.org/wiki/Quadrennial_Dutch_hacker_convention) held every four years.
49
+You can already find the talk recordings on [media.ccc.de](https://media.ccc.de/c/MCH2022).
50
+Here are some of my impressions of the event.
51
+
52
+<!--%
53
+lightgallery([
54
+    [ "img/mch_drone.jpg", "Copyright 2022 by EleRas. Used with permission." ],
55
+    [ "img/mch_top_1.jpg", "Copyright 2022 by Roo. Used with permission." ],
56
+    [ "img/mch_top_2.jpg", "Copyright 2022 by Roo. Used with permission." ],
57
+    [ "img/mch_night_1.jpg", "Copyright 2022 by EleRas. Used with permission." ],
58
+    [ "img/mch_night_2.jpg", "Copyright 2022 by EleRas. Used with permission." ],
59
+    [ "img/mch_night_3.jpg", "Copyright 2022 by EleRas. Used with permission." ],
60
+    [ "img/mch_art.jpg", "Copyright 2022 by Roo. Used with permission." ],
61
+    [ "img/mch_bat_signal.jpg", "Copyright 2022 by EleRas. Used with permission." ],
62
+    [ "img/mch_crystals_1.jpg", "Copyright 2022 by EleRas. Used with permission." ],
63
+    [ "img/mch_crystals_2.jpg", "Copyright 2022 by Roo. Used with permission." ],
64
+    [ "img/mch_stage.jpg", "Copyright 2022 by EleRas. Used with permission." ],
65
+    [ "img/mch_tents.jpg", "Copyright 2022 by EleRas. Used with permission." ],
66
+    [ "img/mch_datenklo.jpg", "Copyright 2022 by Anni1337. Used with permission." ],
67
+    [ "img/mch_feldtelefon.jpg", "Copyright 2022 by Anni1337. Used with permission." ],
68
+    [ "img/mch_pozilei.jpg", "Copyright 2022 by Anni1337. Used with permission." ],
69
+    [ "img/mch_sauna.jpg", "Copyright 2022 by Anni1337. Used with permission." ],
70
+    [ "img/mch_ring_of_fire.jpg", "Copyright 2022 by Bluemaex. Used with permission." ],
71
+    [ "img/mch_tents_night.jpg", "Copyright 2022 by Bluemaex. Used with permission." ],
72
+    [ "img/mch_text_1.jpg", "Copyright 2022 by EleRas. Used with permission." ],
73
+    [ "img/mch_text_2.jpg", "Copyright 2022 by EleRas. Used with permission." ],
74
+    [ "img/mch_text_3.jpg", "Copyright 2022 by EleRas. Used with permission." ],
75
+    [ "img/mch_text_4.jpg", "Copyright 2022 by EleRas. Used with permission." ],
76
+    [ "img/mch_text_5.jpg", "Copyright 2022 by Roo. Used with permission." ],
77
+    [ "img/mch_lamp_1.jpg", "Copyright 2022 by EleRas. Used with permission." ],
78
+    [ "img/mch_lamp_2.jpg", "Copyright 2022 by EleRas. Used with permission." ],
79
+    [ "img/mch_lamp_3.jpg", "Copyright 2022 by Roo. Used with permission." ],
80
+])
81
+%-->
82
+
83
+## Frubar Island
84
+
85
+Like at CCCamp2019 I again had the great honor to be able to stay at the [Frubar Island](http://frubar.net). [The village](https://wiki.mch2022.org/Village:Frubar) consisted of ~16 people and they all were great company!
86
+The sheer amount of stuff they brought to MCH was astounding.
87
+We basically all had to eat in the village all the time, just so we would not have to carry all the food ingredients back home.
88
+Other notable stuff included [publicly remote-controlled DMX lights](http://lights.fru.bar) all over the tent as well as a nice sound system.
89
+For the proper camping experience a bunch of IoT environment sensors were also [keeping track of things](http://dashboard.fru.bar/dashboard/view?id=1) in the tent, using the badges as a hardware platform.
90
+
91
+<!--%
92
+lightgallery([
93
+    [ "img/mch_frubar_night.jpg", "Copyright 2022 by EleRas. Used with permission." ],
94
+    [ "img/mch_frubar_rm.jpg", "Copyright 2022 by DrScream. Used with permission." ],
95
+    [ "img/mch_badge_sensor.jpg", "Copyright 2022 by EleRas. Used with permission." ],
96
+    [ "img/mch_frubar_grill_1.jpg", "Copyright 2022 by EleRas. Used with permission." ],
97
+    [ "img/mch_frubar_grill_2.jpg", "Copyright 2022 by EleRas. Used with permission." ],
98
+])
99
+%-->
100
+
101
+Besides grilling meat we also represented our swabian roots and made a huge amount of [Kässpätzle](https://en.wikipedia.org/wiki/K%C3%A4sesp%C3%A4tzle) (two batches actually), with fresh g'schabte (or rather g'siebte) Spätzle cooked on a gas stove, the cheese melted into them using a gas grill, with onions made before in a cast-iron pan.
102
+It was awesome.
103
+We are considering doing that again as `Swabian Embassy` in the future.
104
+
105
+<!--%
106
+lightgallery([
107
+    [ "img/mch_food_1.jpg", "Copyright 2022 by Bluemaex. Used with permission." ],
108
+    [ "img/mch_food_4.jpg", "Copyright 2022 by Bluemaex. Used with permission." ],
109
+    [ "img/mch_food_2.jpg", "Copyright 2022 by Bluemaex. Used with permission." ],
110
+    [ "img/mch_food_3.jpg", "Copyright 2022 by Bluemaex. Used with permission." ],
111
+])
112
+%-->
113
+
114
+## UbaBot Cocktail Machine
115
+
116
+Of course [we](http://drinkrobotics.de) also brought our [UbaBot Cocktail Machine](https://www.xythobuz.de/drinkrobotics.html) and ran it at Frubar over the whole event.
117
+Operations were slightly hindered by an unbelievable amount of wasps while the sun was out.
118
+They really loved the sugary sirups and for a considerable part of the day you could not get a drink without having to fish out at least one wasp that fell in while dispensing.
119
+
120
+Otherwise it worked great.
121
+We did not have as many guests compared to the CCCamp2019, because back then the village location was very optimal.
122
+We also didn't do any promotion, like sending out Chaospost postcards and inviting people, or hanging signs.
123
+Still we were able to use up our batch of ingredients we brought with us.
124
+
125
+We also developed a fun new feature for the machine... [⬇️](2022_07_29_MCH2022.html#app)
126
+
127
+<!--%
128
+lightgallery([
129
+    [ "img/mch_ubabot_3.jpg", "UbaBot on MCH2022, front." ],
130
+    [ "img/mch_ubabot_4.jpg", "UbaBot on MCH2022, back." ],
131
+    [ "img/mch_ubabot_1.jpg", "Copyright 2022 by EleRas. Used with permission." ],
132
+    [ "img/mch_ubabot_2.jpg", "Copyright 2022 by EleRas. Used with permission." ],
133
+])
134
+%-->
135
+
136
+## Badge App Development
137
+<a class="anchor" name="app"></a>
138
+
139
+As is custromary for these events, every ticket-holder received an [MCH2022 Badge](https://badge.team/docs/badges/mch2022/) at the entrance.
140
+It contains a bunch of real nice gimmicks, like an FPGA and an RP2040 as well as an ESP32.
141
+And besides displaying a name-tag it can also be used to run custom software!
142
+
143
+<!--%
144
+lightgallery([
145
+    [ "img/mch_badge_name.jpg", "MCH2022 Badge running name app" ],
146
+])
147
+%-->
148
+
149
+Sitting in the village tent, looking at our new badges while setting up the UbaBot at the same time, we quickly had the idea to develop some kind of UbaBot app for the badge.
150
+Thinking about the UX of the machine, a way to do that soon became obvious.
151
+In our normal setup, every user should register at the UbaBot for a user account with accompanying RFID tag.
152
+This tag can then be used to log-in to the machine to dispense drinks.
153
+This way we can control who is allowed to drink, as well as keeping track of stuff like who drank what, to show approximate blood alcohol contents.
154
+Of course this means there is a time-consuming setup process where each user has to register.
155
+For events like Camps we usually provide an anonymous RFID tag at the machine, so everyone can get a drink without registering.
156
+
157
+Because in this case every potential user already has the badge, we were able to stream-line the user-registration process.
158
+You just need to press a single button on the badge to login to the machine.
159
+The API backend on the Raspberry Pi will automatically create a new user-account for the nickname stored in the badge, if it doesn't already exist, and log it in if no other user is currently logged in.
160
+The app then shows the auto-generated username and password for the newly created account, so users of the badge can then use their account as usual, if they choose to do so.
161
+
162
+For the implementation we used MicroPython on the badge.
163
+This allowed us to do stuff like send HTTP requests to the machine easily.
164
+Fortunately the badge provides an API to control the WiFi, so we could use that to connect to the local WiFi of the UbaBot.
165
+This also took care of DDoS issues, as physical proximity to the machine is required to use the app.
166
+Also this means users don't have to fiddle with their WiFi settings, the App connects to our Access Point without modifying the stored credentials.
167
+At first the code was a bit spaghetti-like, as it grew while we were experimenting.
168
+Later I re-did the logic of the application using a state-machine, similar to what I did for the [Gieß-o-mat](giessomat.html).
169
+
170
+For the backend we had to implement a bunch of API calls in our Bartendro fork.
171
+While the event was running we only really used the login functionality.
172
+But we also started to implement an endpoint to display the BAC on the badge app, as well as showing the menu to pre-order drinks.
173
+
174
+The documentation for the app development process was a bit sparse.
175
+Apparently many people had problems.
176
+There is a [MicroPython Getting Started Guide](https://badge.team/docs/badges/mch2022/software-development/micropython/introduction/) that explains how to run a REPL and load an app via USB (you need to create the folder for it via the REPL!).
177
+There is also an [API description](https://badge.team/docs/esp32-platform-firmware/esp32-app-development/api-reference/#badgeteam-platform-apis).
178
+Some other stuff I got from looking at other apps in the Hatchery.
179
+There's even a [simulator](https://wokwi.com/projects/335445228923126356) which I used to get the screenshots.
180
+
181
+The [UbaBot App](https://mch2022.badge.team/projects/ubabot) can be found in the [MCH2022 Hatchery](https://mch2022.badge.team/) or in the Hatchery App on the badge.
182
+The source code also is available on [GitHub](https://github.com/drinkrobotics/ubabot-mch2022).
183
+
184
+<!--%
185
+lightgallery([
186
+    [ "img/mch_app_1.png", "WiFi connection screen of UbaBot app" ],
187
+    [ "img/mch_app_2.png", "Login screen of UbaBot app" ],
188
+    [ "img/mch_app_3.png", "Login screen of UbaBot app" ],
189
+    [ "img/mch_app_4.png", "Status screen of UbaBot app" ],
190
+])
191
+%-->
192
+
193
+Also I have to say, this was the first time I saw a whole bunch of people running code that I wrote to actually do something useful 😊
194
+
195
+## Other Notes
196
+
197
+Unfortunately my sleeping pad broke after only one night.
198
+I tried to sleep another night on it which was a pretty bad idea, it was very uncomfortable.
199
+We then tried to find the hole to attempt a repair, but broke it even further while doing that.
200
+Fortunately there was a [Supermarket](https://wiki.mch2022.org/Supermarket) available on the campgrounds providing all basic needs, like air-mattresses, so I could sleep well for the remaining time.
201
+
202
+I was a bit surprised by the Dutch laws about serving alcohol.
203
+Apparently it is not possible to buy any alcoholic beverages from 02:00 until 14:00.
204
+Of course I was only made aware of that when I tried to order a [Tschunk](https://entropia.de/Tschunk) at the bar. At the same time, running dangerous equipment like flame-throwers immediately next to and above event visitors does not seem to be any cause for concern over there! 😅
205
+
206
+Surprisingly the train travel towards the camp was uneventful, but on our way back home things took a different turn.
207
+It started by us thinking we are in Düsseldorf, where we had to switch trains.
208
+We actually were in Duisburg and only noticed after our train we just disembarked had left.
209
+Fortunately another train drove us to Düsseldorf after only a couple of minutes waiting time, so we were able to catch our original connection without problems.
210
+Later, between Stuttgart and Ulm, another passenger [pulled the emergency breaks](https://www.presseportal.de/blaulicht/pm/116091/5282567) without reason and caused quite some delay.
211
+Because of this I could no longer catch my original connection home.
212
+On the last train from Ravensburg, where the [Rutenfest](https://www.rutenfest.com/) was held, a whole bunch of drunken passengers stepped on, causing quite some chaos and threatening violence to each other.
213
+This was quite the contrast to the camp experience just hours before 😔<br>
214
+I then had to take a Taxi for the last couple of kilometers home and arrived at about 02:00 at night.
215
+
216
+<!--%
217
+lightgallery([
218
+    [ "img/mch_seat.jpg", "Copyright 2022 by EleRas. Used with permission." ],
219
+])
220
+%-->
221
+
222
+<span class="listdesc">The background pattern for this page has been generated [with the official MCH2022 design generator](https://mch2022.org/design/).</span>

+ 25
- 0
input/projects/drinkrobotics.md Dosyayı Görüntüle

@@ -12,6 +12,31 @@ There I got to know cocktail machines and later took part in [drinkrobotics](htt
12 12
 It originally used relais to power the pumps, but we had a motor driver PCB that we wanted to use instead, [so I wrote a Firmware for it](https://github.com/drinkrobotics/avr_pump_board).
13 13
 We got an award for this machine at Makerfaire Friedrichshafen, presented it at Makerfaire Hannover, visited the [Verschwörhaus Ulm](https://verschwoerhaus.de/) and various other events over the years.
14 14
 
15
+### MCH2022
16
+
17
+Here are some photos of our tent at the MCH2022 summer hacker camp in the Netherlands.
18
+
19
+<!--%
20
+lightgallery([
21
+    [ "img/mch_ubabot_3.jpg", "UbaBot on MCH2022, front." ],
22
+    [ "img/mch_ubabot_4.jpg", "UbaBot on MCH2022, back." ],
23
+    [ "img/mch_ubabot_1.jpg", "Copyright 2022 by EleRas. Used with permission." ],
24
+    [ "img/mch_ubabot_2.jpg", "Copyright 2022 by EleRas. Used with permission." ],
25
+])
26
+%-->
27
+
28
+We also developed an app for the MCH2022 Badge that can be used to login to the machine.
29
+The app source code can be found on [GitHub](https://github.com/drinkrobotics/ubabot-mch2022) and in the [MCH2022 Badge Hatchery](https://mch2022.badge.team/projects/ubabot).
30
+
31
+<!--%
32
+lightgallery([
33
+    [ "img/mch_app_2.png", "Login screen of UbaBot app" ],
34
+    [ "img/mch_app_4.png", "Status screen of UbaBot app" ],
35
+])
36
+%-->
37
+
38
+You can find some more on my [blog post about MCH2022](2022_07_29_MCH2022.html).
39
+
15 40
 ### CCCamp2019
16 41
 
17 42
 Here are some photos and videos of our tent at the CCCamp2019 summer hacker camp near Berlin.

BIN
static/img/mch_app_1.png Dosyayı Görüntüle


BIN
static/img/mch_app_1_small.png Dosyayı Görüntüle


BIN
static/img/mch_app_2.png Dosyayı Görüntüle


BIN
static/img/mch_app_2_small.png Dosyayı Görüntüle


BIN
static/img/mch_app_3.png Dosyayı Görüntüle


BIN
static/img/mch_app_3_small.png Dosyayı Görüntüle


BIN
static/img/mch_app_4.png Dosyayı Görüntüle


BIN
static/img/mch_app_4_small.png Dosyayı Görüntüle


BIN
static/img/mch_art.jpg Dosyayı Görüntüle


BIN
static/img/mch_art_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_badge_name.jpg Dosyayı Görüntüle


BIN
static/img/mch_badge_name_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_badge_sensor.jpg Dosyayı Görüntüle


BIN
static/img/mch_badge_sensor_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_bat_signal.jpg Dosyayı Görüntüle


BIN
static/img/mch_bat_signal_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_crystals_1.jpg Dosyayı Görüntüle


BIN
static/img/mch_crystals_1_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_crystals_2.jpg Dosyayı Görüntüle


BIN
static/img/mch_crystals_2_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_datenklo.jpg Dosyayı Görüntüle


BIN
static/img/mch_datenklo_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_drone.jpg Dosyayı Görüntüle


BIN
static/img/mch_drone_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_feldtelefon.jpg Dosyayı Görüntüle


BIN
static/img/mch_feldtelefon_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_food_1.jpg Dosyayı Görüntüle


BIN
static/img/mch_food_1_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_food_2.jpg Dosyayı Görüntüle


BIN
static/img/mch_food_2_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_food_3.jpg Dosyayı Görüntüle


BIN
static/img/mch_food_3_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_food_4.jpg Dosyayı Görüntüle


BIN
static/img/mch_food_4_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_frubar_grill_1.jpg Dosyayı Görüntüle


BIN
static/img/mch_frubar_grill_1_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_frubar_grill_2.jpg Dosyayı Görüntüle


BIN
static/img/mch_frubar_grill_2_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_frubar_night.jpg Dosyayı Görüntüle


BIN
static/img/mch_frubar_night_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_frubar_rm.jpg Dosyayı Görüntüle


BIN
static/img/mch_frubar_rm_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_lamp_1.jpg Dosyayı Görüntüle


BIN
static/img/mch_lamp_1_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_lamp_2.jpg Dosyayı Görüntüle


BIN
static/img/mch_lamp_2_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_lamp_3.jpg Dosyayı Görüntüle


BIN
static/img/mch_lamp_3_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_night_1.jpg Dosyayı Görüntüle


BIN
static/img/mch_night_1_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_night_2.jpg Dosyayı Görüntüle


BIN
static/img/mch_night_2_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_night_3.jpg Dosyayı Görüntüle


BIN
static/img/mch_night_3_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_pattern.png Dosyayı Görüntüle


BIN
static/img/mch_pozilei.jpg Dosyayı Görüntüle


BIN
static/img/mch_pozilei_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_ring_of_fire.jpg Dosyayı Görüntüle


BIN
static/img/mch_ring_of_fire_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_sauna.jpg Dosyayı Görüntüle


BIN
static/img/mch_sauna_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_seat.jpg Dosyayı Görüntüle


BIN
static/img/mch_seat_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_stage.jpg Dosyayı Görüntüle


BIN
static/img/mch_stage_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_tents.jpg Dosyayı Görüntüle


BIN
static/img/mch_tents_night.jpg Dosyayı Görüntüle


BIN
static/img/mch_tents_night_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_tents_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_text_1.jpg Dosyayı Görüntüle


BIN
static/img/mch_text_1_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_text_2.jpg Dosyayı Görüntüle


BIN
static/img/mch_text_2_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_text_3.jpg Dosyayı Görüntüle


BIN
static/img/mch_text_3_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_text_4.jpg Dosyayı Görüntüle


BIN
static/img/mch_text_4_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_text_5.jpg Dosyayı Görüntüle


BIN
static/img/mch_text_5_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_top_1.jpg Dosyayı Görüntüle


BIN
static/img/mch_top_1_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_top_2.jpg Dosyayı Görüntüle


BIN
static/img/mch_top_2_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_ubabot_1.jpg Dosyayı Görüntüle


BIN
static/img/mch_ubabot_1_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_ubabot_2.jpg Dosyayı Görüntüle


BIN
static/img/mch_ubabot_2_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_ubabot_3.jpg Dosyayı Görüntüle


BIN
static/img/mch_ubabot_3_small.jpg Dosyayı Görüntüle


BIN
static/img/mch_ubabot_4.jpg Dosyayı Görüntüle


BIN
static/img/mch_ubabot_4_small.jpg Dosyayı Görüntüle


Loading…
İptal
Kaydet